I can’t see why overbooking is necessary, unless the airline is so greedy they can’t take each day as it comes. There are usually more passengers than seats at each boarding. Cancellations can be filled in with standbys. In my travelling days, originating at BWI, I was frequently a standby to get on a flight from Chicago to Racine, or Twin Cities to Grand Rapids. Just go with it.
Overbooking is necessary because there are so many variables involved in people making their flights: unexpected traffic (both customers and aircraft), TSA (which is RIDICULOUS at many airports) and customs...to name just a few. Empty seats are lost forever. I think you would be surprised at how many people who miss their flights are accommodated by the airlines. I always fly standby and even on days when flights seem hopelessly oversold, I am often able to get a seat. I also find that most of the public has a short memory, and when they book their next ticket, price is usually the most important consideration...regardless of what they claim.