Charge for carryons
I'd divvy up the overhead into small compartments that would hold one rollaboard. Then I'd sell each compartment. You could buy an overhead compartment at the same time you buy your ticket, or when you check-in or at the gate. But not on the airplane. The idea is to make it faster to board – letting people buy space on the plane would make it slower.
I'd also give the IT staff the budget to put a little LED screen on each overhead compartment that would show the seat number of the person that "owned" it.
If there were unpurchased overhead bins, they'd stay closed and empty. The idea is to board quickly and smoothly.
Do away with overhead compartments
I think the best solution would be to remove the overhead compartments. I personally wouldn't like this one as I never check a bag and always take a rollaboard on the airplane. However, I think this would really speed up boarding. People wouldn't rush to board and then stand in the middle of the aisle looking for a place for their bag. They wouldn't walk all the way to the back of the airplane to put their suitcase up and then walk back to their seat while everyone is trying to walk the other way to get to their seat.
You'd have the space underneath the seat in front of you and that's it. In exchange, your flight would board quickly and smoothly. And theoretically the airlines would pay for less gate time so your ticket would get cheaper, but I wouldn't hold your breath for that.
To keep your frequent fliers happy, you'd have to improve your baggage handling process at the same time. You should never have to stand around for half an hour waiting for your bag to come out.
Doing away with carryons, like charging for food and baggage, would really only be a bandaid. The whole airline industry needs to change if it's going to succeed. But charging for checked baggage and not carryons is creating a mess and making air travel even less pleasant.