Offer option of a reservation, maybe at extra fee. Pay if you cancel within 24h. Now clients have an option. Some might really want an X and be willing to pay a slight premium.
They actually are going the other way and offering discounts for prepayment since it ensures they will have a customer. The math it pretty easy: if the discount % is < than the no show percentage on regular reservations they’re making money