I would say, "Put the gun down and get me my coke and peanuts bitch!"
No just kidding, seriously though I think the best thing to do is tighten your seat belt for the first few minutes. If shots are fired, it wont be long before a call is made from a flight attendant explaining to the pilot of a attempted highjacking. Most likely, the pilot would have heard the shot and know something terrible has happened and declare an emergency. One of two situations will then follow.
A. At the right time, a federal air marshal will defuse the situation, and you don't want to be in their way.
B. The pilot will soon show off their acrobatic skills and put the plane in steep dives and turns. That's what having the seatbelt on tight is for. Once the high jacker is sticking out of the ceiling it's fair game to unbuckle your seat belt and take turns with you fellow passengers to beat the hell out of him/her or do what ever you like.
In most cases, it will be more then one highjacker. So you have to remember if you charge one guy, he could be the decoy. There could still be others sitting down waiting to see if air marshals make a move.
The only time you should charge the highjacker(s) and start swinging is if they get far enough to enter the cockpit. If this happens,Then by all means rush to cockpit yourself and try and kill the highjacker. Otherwise you will eventually be shot down.
A bomb would be the hardest to get control over, but I would need to see the thing before I would believe a terrorist. So once again all of the above in my opinion. Just remember to look out the window before you rush a terrorist with a bomb. If you fail how many more people will get killed by falling debree? It's best to wait for the perfect opportunity, such as flying over water or non-populated areas. If there is no way around it, well you did your best to go down fighting.
One thing is for sure, the highjacker must know that any future attempt will be a suicide mission regardless of what happens to the plane and it's passengers.