You need a few long bursts with an SMG to affect a wall or floor, but they're very quick lock picks versus wooden doors. MGs can chew down whole buildings, if you bring enough ammo.
My vote goes to the sniper. Let the others range ahead, find targets, and long range rifle shots ahoy, picking off enemy machine gunners/bazooka wielders/other potent-weapon-carrying-gits.
Scout armed with a silenced SMG is a wicked combination, sneak up, long burst, dead enemy. Rinse and repeat. Very good for poking out of cover, finding the enemies, then running away.
Soldier gets the MG, long bursts on particularly important enemies.
Grenadier gets an SMG, closes in on the enemy and chucks grenades as primary attack. Watch those bodies fly.
Engineer usually gets an SMG, throws explosives, supporting fire role, and lays traps to block enemy access or create choke points which you then cover with firepower.
Medic, given a rifle, fire support and run about patching people up.
I have a love/hate relationship with throwing weapons, knives, shuriken, chakri, etc. Just playing currently, scout surprised a Brit officer near his desk, cue three turns of throwing enough cutlery to stock a good size restaurant. Result? The officer's chair looked like a hedgehog. Officer coolly returned fire and notched a hole in my scout.
A few of the recruit-able units have some decent machine guns, but I hesitate to use all the ammo for it for fear I won't have enough next mission. That's probably an unwarranted worry of mine since it seems like Allied gun ammo is replaced if you use it, but still.
If you're playing as the Allies, ammo for Allied weapons is unlimited, yep. Use as much as you like, then go back to base and restock.