To use the upgrade detection, there is a small problem with it since it detects 4 different types of upgrades in 1 condition.
If you wanted to detect Terran Infantry Armor for example, the trigger would also detect Terran Vehicle Armor, Terran Ship Plating and Zerg Carapace. If you could only upgrade Terran Infantry Armor, then this is easy to detect since you don't need to worry about the other upgrades. However, if you can also get Terran Vehicle Armor, you will need more triggers to detect every single possible outcome (with a max of 3 upgrades there would be 16 outcomes, 00, 01, 02, 03, 10 and so on, if you only wanted to know a specific Terran Infantry Armor though instead of just knowing exactly what it's at, you would only need 4) If it's in a game where there are many different upgrade levels, it will take more and more triggers.
If you could get zerg carapace and terran ship plating also, with a maximum of 3 upgrades there would be 256 different possibilities, which is quite inconvenient. This isn't extremely useful if you can get lots of upgrades, unless you really don't care how many triggers there are in your map.