@iain they already do that though; by US law, compensation for *involuntary* cancellation starts at 400% of the ticket's value, up to a cap of $1350. they make money off volunteers, but even then, it's likely at a loss, especially when you factor in the costs of moving passengers around and lost customer loyalty.
The issue with overbooking is the logic of maximizing profits; under that guidance, there's no reason for airlines (or other industries) to stop the practice.