Fundamentally in my experience problems such as those being discussed is short sightedness on the part of the DC. When a days diving is planned for instance and maybe a party of snorklers or some dsd's book in, or vice versa, destinations may be changed to suit the latter customer bookings.
Would it not be better policy to suggest to the latter customers, it may be better you come another day as our destination tomorrow is not suitable for your activity, yes admittedly they run the risk of these people going to another shop, but on the other hand they run the risk of upsetting the customers that have their booked destination changed.
Its a choice only each individual shop can make, take the max ammount of money in the short term and risk upsetting customers and potentially losing repeat business. Or be up front with people and maybe risk losing some potential customers.
I know everyone is in business to make money, and each shop will have their own aproach to such dilemna's. But from my personal point of view I will return to shops that are honest, even if at times the facts are not what I want to hear. But I never return to somewhere that has told me lies or wild exagerations and after I leave feeling cheated.
Also an unhappy customer will never make recomendations, usually quite the contrerary.
Fully agree, the problem that you will encounter is that shops try to maximize profits and than you get a situation in which somebody will or may be unhappy rather than being upfront with the customers.
Serious dc's will quickly distinguish themselves from their counterparts.