Not all fighting back scenarios involve crashing the plane into a field. In fact, now that cockpit doors are reinforced, most fighting back scenarios will end in the plane safely landing. There have already been several cases of passengers successfully fighting back before much damage was done.
tl;dr: I think fighting back is a rational response.
1) I know everybody else is thinking that theory. Nobody will move.
2) Bystander effect. Nobody will move.
In short, the one to act first will be me, 'cos y'all a bunch of cowards. (Hopefully not too coward to jump in once someone's made the first move though)
But what you really need to think about is- what if I'm not on that plane? What if every person on that plane is a coward? Will you wait in terror and lose your chance? Are you willing to take that risk?
Unless there's literally seconds until the hijacker will be untouchable, that's likely the most rational choice: play chicken with the other passengers, to see who gets desperate enough to act first.
Now, the moment someone acts, all bets are off - some non-negligible subset may quite likely follow the first person, depending on that persons social standing (people are more likely to jaywalk behind a jaywalker in a suit than one in less formal clothes, for example, if neither of them does anything else to get people to follow - our propensity to deviate from the group behaviour depends on how authoritative the person "leading the charge" appears)
Similarly, if at any point it appears that the hijacker will suddenly become impossible to take out, it becomes more rational to go first, out of the risk that nobody will act.
But the bystander effect is there for a reason: It is generally quite safe to do what everyone else is doing. Except when it isn't.
In terms of hijackings, as it turns out, it is quite safe: Most hijackings, even after 9/11, ends with no dead victims. 9/11 represented a small set of extreme aberrations from hijackings both before and after.
With that in mind, throwing yourself on an armed hijacker only becomes rational once it appears they'll otherwise gain control of the cockpit, at the earliest.
Anyway, I don't intend to wait and find out what the hijacker intends, and as the best window for action is going to be right after he/she walks by your seat, your window for action is small. When they are far away, you have to close the distance, which costs you surprise. So waiting to see if they are going to try to breach the cockpit is probably not the best plan.
Well, I guess if they take a hostage at the back of the plane and yell "take me to Prague!", it's probably not worth it, I guess there would need to be some attempt to read their intentions.