The .50 machine gun is also good, and you can usually find some ammo from very large robots or turrets (although the stuff is very heavy and you can never carry as much as you'd like). Other machine guns, including multi-barreled guns, are worthless. So are assault rifles. Sniper rifles are only good against eyes and heads, or with someone with very wicked skills. The grenade launcher isn't bad against big slow guys. There is an acid sprayer that works well, but it has short range, ammo is hard to find, and it has a very fast rate of fire. If you are not playing turn based, it will be gone before you know it. All sorts of grenades are great. All hand-to-hand weapons are terrible.
Shotgun with EMP shell is best, as was said before. Slug shells are also pretty good. Because the shells are so rare, it is best to use single fire unless you are in a tough situation.