I spent 18 years in the hospitality business. A sightseeing/snorkeling boat business by private charter only. I did not do head trips, as in renting one campsite. With me you were renting the whole CG or nothing. The boat was yours for you & your party, unshared, filling it or not.
I learned early that people could not be trusted on their word when making a booking so it was credit card or you had nothing.
I was very liberal cancellations. Up to 48 hours from departure time without penalty however if you cancelled within 24 hours of departure time, full charge. Weather cancellation was my call.
In season I would think that CGs should do something similar. Charging a cancellation penalty a week or more out is a bit stiff IMO.