There are 2 reasons people use carry-ons rather than checked bags. First, because its cheaper for people w/o status, and second because they're worried about the airline loosing their luggage, and/or they don't want to wait for their bags.
To negate the first reason for carry-ons using a carrot + stick approach, I'd offer 2 free checked bags to everyone regardless of status, along with charging $100 or more per carry-on.
The second reason might be harder. The airlines would need to re-negotiate deals with their credit card company partners (suddenly the free checked back with the Delta Amex plat. card doesn't mean anything) and change their frequent flier programs, and they'd need to get better at bag handling in general.