I think the way round this, and it will probably appeal to the nutters (sorry, I mean US), is to arm every passenger with at least a semi-automatic of some description. Maybe something with a calibre of about a 38 or better. And the Ammo must be armour piercing, we wouldn't want any galley carts being used to hide behind.
People could pick up the weapon of their choice when they present their boarding cards at the gate. You could have shooting ranges air side so people can practice popping one off over a beer while waiting for the flight.
I can just hear the cabin crew now "I'm sorry sir, you not old enough for a beer, but would you like another magazine for your M16?"
Prats!!!