Last minute cancellations are a real problem in that area. I have started entire threads on the topic. I will relate an experience I had with South Florida Diving Headquarters to illustrate the problem and suggest a solution.
I arrived at SFDH, did all the paperwork, paid, and boarded the boat. I was early, as I almost always am on such trips. As I was setting up my gear, an obviously unhappy DM got on the boat and told me that everyone else scheduled to go on the trip had canceled. Since it was now so late and I was already on board, they had decided to run the trip anyway, so it would just be the two of us. (One other diver did show up later.) The DM explained what he perceived to be the problem. Because ALL the operations in the area had a reputation for canceling trips at the last minute if there weren't enough people signed up, the local customers often register for several trips and then pick the best one from the ones that actually run. His solution was to take credit card numbers and charge for cancellations.
That was not my solution. I once woke up the morning of a dive and realized I had gotten sick. I decided I should not dive because of this, but it was a close call. If I were going to be charged for the dive if I did not show up, I might have decided to go for it and done a dive I should have called. A very important rule of diving is that any diver can call any dive at any time for any reason without any repercussions, and charging for a called dive would contradict that rule. It should be very rare that a diver needs to cancel a dive, but it should be allowed.
My solution is different--lose the reputation for canceling dives at the last minute. A dive operation I have used in Cozumel has a number of boats, and their policy is that if a dive is scheduled, the dive will run, even if all but one customer cancels. As a consequence, no one double books with them. If you know a boat is going to go no matter what (except, of course, for weather), why would you book somewhere else as a backup? Of course, people might still book your trip as a backup to another trip that may or may not run, but if they know you are going to run no matter what, they don't have to do that, either. They just have to head your way if the other one cancels, knowing they can walk on at the last minute.
I said earlier that I stopped using one of the operators in that area because of their reputation for cancellations. I don't even look at their online schedule any more. It seems to me that if all the operators in the area had a policy of going out on any trip after a certain reasonable deadline for cancellation, then no one would do multiple bookings and that problem wold go away.
I arrived at SFDH, did all the paperwork, paid, and boarded the boat. I was early, as I almost always am on such trips. As I was setting up my gear, an obviously unhappy DM got on the boat and told me that everyone else scheduled to go on the trip had canceled. Since it was now so late and I was already on board, they had decided to run the trip anyway, so it would just be the two of us. (One other diver did show up later.) The DM explained what he perceived to be the problem. Because ALL the operations in the area had a reputation for canceling trips at the last minute if there weren't enough people signed up, the local customers often register for several trips and then pick the best one from the ones that actually run. His solution was to take credit card numbers and charge for cancellations.
That was not my solution. I once woke up the morning of a dive and realized I had gotten sick. I decided I should not dive because of this, but it was a close call. If I were going to be charged for the dive if I did not show up, I might have decided to go for it and done a dive I should have called. A very important rule of diving is that any diver can call any dive at any time for any reason without any repercussions, and charging for a called dive would contradict that rule. It should be very rare that a diver needs to cancel a dive, but it should be allowed.
My solution is different--lose the reputation for canceling dives at the last minute. A dive operation I have used in Cozumel has a number of boats, and their policy is that if a dive is scheduled, the dive will run, even if all but one customer cancels. As a consequence, no one double books with them. If you know a boat is going to go no matter what (except, of course, for weather), why would you book somewhere else as a backup? Of course, people might still book your trip as a backup to another trip that may or may not run, but if they know you are going to run no matter what, they don't have to do that, either. They just have to head your way if the other one cancels, knowing they can walk on at the last minute.
I said earlier that I stopped using one of the operators in that area because of their reputation for cancellations. I don't even look at their online schedule any more. It seems to me that if all the operators in the area had a policy of going out on any trip after a certain reasonable deadline for cancellation, then no one would do multiple bookings and that problem wold go away.