That's one good argument.
Another is cost. Some estimates place the number of skymarshalls required at around 100,000 men. That's 10 divisions worth of troops. The cost of this many marshalls, plus the cost of training them, would be quite a bill. Guess who pays? Yup, the taxpayer AND the airline passenger. It would be cheaper to arm the pilot and copilot, and secure the cockpit door, and make other changes such as installing a system that puts the plane into autopilot during a hijacking which cannot be overriden without a code or signal from the ground or which allows remote control of the jet to steer it away from urban areas.
Captains and officers of passenger liner ships that sailed the oceans used to be armed. Why can't the captains of the air be likewise armed? And arm the bus drivers too.
The proposals that have been made like canceling -curbside check-in or having dump inspections of carry-on bags don't even begin to address the problem, let alone have a whole lot of potential for solving it. Skymarshalls might help, but they'll have all the problems that you mentioned.
I'd feel a lot safer knowing the pilots were armed.
Congress needs to realize that PILOTS are already armed with something a lot more dangerous than a gun which can only be used to kill the people on board, if you could get them to stand still and if you had enough ammo.
In reality, pilots control a large gasoline can moving at high speed totally under their control, as the Terrorists so ably demostrated. The pilots are armed to the teeth, why not give them a measly little gun to PREVENT the big weapon from getting out of their control.
It is soooo logical to arm pilots that I can't stand it. Why would additional personnel (marshalls) in the cabin where the marshalls are subject to hijacking be preferable to just setting up the last line of defense and making sure no one could be better armed than that last line without destroying the plane???