"Empty seats cost the airlines money, and they need to recoup those losses somehow."
What does this mean? The issue here is overbooked seats. If a seat is physically empty during the flight because the passenger just doesn't show up, the airline doesn't lose any money - the ticket/seat is still (pre)paid for. Overbooking is simply a way for the airlines to make extra money on top of what they would normally make, gambling on some percentage of customers not showing up for the flight.
So, is the airline industry operating on such a slim margin that giving up the practice of overbooking would force airlines to take noticeably drastic cost-cutting measures?