Unfortunately, the only real way around this is just like hotels/airlines do: charge a "no-show" fee or cancellation penalty. Otherwise, they are just guessing on their forecasting and it sometimes works in their favor (every single car is sold out) and sometimes it works against them. I'm against the no-show fees, so I say they keep the current system. If I'm not sure a location will have a car that I need, I book a second as a back-up.