Restaurants need to start charging non-refundable deposits for reservations. Holding a table for your party is a thing of value, which the restaurant should get paid for. No show without a letter from an ER doc / police report? Too bad, you lose $20-$40.
Yeah, I guess there could be downsides to this that I can't see, but asking to prepay when creating the reservation seems to be the best option by far.