The problem is that most of the maps aren't large enough to use the sort of stealth a sniper excels at. Being so far away that only a lucky shot will hurt them, and only a couple will kill them. I had my first mission be in the graveyard map, which is awesome, and I killed three of the four aliens on the map, and had the fourth one fire twice and instantly kill one of my two snipers. I did a little math and had he been wearing the armor, he'd have survived. He was literally within the one square effective range of someone's medkit, which is a rare enough circumstance. Since he can't wear armor and make an aimed shot, he ends up going into battle in his pyjamas, which are not at all protective.
I'd rather the imposition of a movement penalty for the armor. If you're wearing too much armor, you should be using 3 TU to move, not be unable to shoot.