I think you just answered your own question, Greg. You are neither a bank, nor an insurance company.
If the job requires booking additional people and services, you ask those folks what *their* cancellation terms and fees are, and add them to the deposit. This business runs on trust and personal reputation, or it doesn’t run for very long, so you must cover all your subs, every time, or they won’t come back for the next gig.
Then when you’re truly up against a wall and need some mercy from these same craftspeople, you’re much more likely to get it. They all talk, they all network. You stiff one, they’re all gonna know it.
A businessman’s word is his most precious currency.
Now, could some weasel underbid you by not covering these bases? Maybe. But when things go wrong, they will go spectacularly wrong for that guy. You’ll be positioned to parachute in and save the day. Or sweep up what’s left of the weasel.