Ok, both have their place and their time. There is no "which is better. I want to only get the one that't always better". While I'd agree with that statement, get the better upgrade because that would help you win ... it is still flawed because it asks the wrong question.
Instead ask WHEN is EITHER better than the OTHER ?
So here we go. We start by analyzing both of them: Excluding the infamous archon, no protoss unit has more shields than health, and immortals only benefit from shield upgrades against units that do less than 9 damage. What does this mean ? having +1 armor will help more in a single fight because your units will benefit more from the upgrade because more health, means more hits, means more damage is negated.
BUT Shields are this magic thing that regenerates really fast out of combat. Also it is universal ... from buildings to gateway units, robo units and even flying units.
So why should you care ? well you need to ask yourself: What do I need. Do I always fight whenever I am guaranteed to do damage and run away (not trying to win the game, just get ahead of the competition) ? am I making both fliers and ground units ? If you answer yes to 2/3 then you want shields
In every other scenario, you want armor.
Also there is the possibility you have a lot of extra gass for some reason ? go 3xforge :P