3. The current system provides a way to differentiate small "physical size" units from large "physical size" units. Sure, it sort of mixes this up with overall durability, but it still provides this system. I know that Starcraft allows some units' weapons to get a bonus or penalty against certain "size classes" (though it is a additive bonus, not a multiplicative one) (and Starcraft II extends this to allow such bonuses and/or penalties to unit properties, like biological, mechanical, and such).
Maybe a similar system could work for AI war? Some sort of differentiation with far more rigorously defined classifications, and fewer classifications overall, and bonuses/penalties that, with the exception of immunities, do NOT overshadow the base damage?
Starcraft uses basically a "light" "medium" "heavy" system, similar to the armor piercing>armor>dps system I'm proposing.
Basically, units with the "armored" tag can usually survive units without armor piercing (think Helions vs. Siege Tanks). However, heavy units typically fire slowly, or have some kind of aoe attack, making them weaker to "medium" units (think Marauders vs. Siege Tanks). Though this is all done with the "armored" or "light" tag, the external attributes of a unit define with it is a medium unit, and therefore strong against "heavy" units. Light units then counter Medium units (think Marines vs. Marauders).
I still think it's distilled down into 3 basic categories, with the most important classifications coming from a units external attributes (such as flying, cloaking, siege mode, etc.), similar to what I'm suggesting. I think with Starcraft's system you can focus on what makes each unit unique, instead of focusing on what it's designed to kill.
IIRC, there are discrete, "enumed" stats in Starcraft and Starcraft II (its been a while)
*, your observation that those (and "lookup tables" keying off of those) do NOT dominate the "general purpose" stats. I like this system to, where if there is a explicit modifier based on a non-numeric, "is-or-isn't there" property of the target, it would not overwhelm normal damage, but rather be just a nice bonus (something that helps with this is that most "per property" modifiers are additive, not multiplicative, though there are exceptions)
Although I wouldn't necessarily like it quite that extreme in AI war, I do agree that the "general", numeric stats should be the predominant factor in unit effectiveness, with any multipliers there just as a nice small to medium bonus, or to enforce immunities or special cases (like scouts).
*It is important to note that there is no inherent connection between, say, size classification and numeric armor in Starcraft. You could have a small unit with 8 armor, or a large unit with 2 armor. However, in Starcraft, in most cases, that armor plays a bigger role in most matchups than the size matchups do. Aka, the "classes" of normal, standard offense units formed in Starcraft are very weakly influenced by their "enumed" properties.
Also, it is important to note that these "enum" and "enum keyed" properties being less dominant only applies to normal firing damage. Offensive
special, active abilities are frequently keyed very strongly to these "enumed" properties, which gives depth to the stratagy (in some cases, you can sort-of bypass the "general case toughness" with a well placed active special ability with an effectiveness strongly bolstered by a specific property of that unit with the "general case toughness"). We don't really have this way to "balance out" this general vs. enumed property usefulness, as special offensive abilities are rare in AI war. This is why I don't think going quite as far as Starcraft in "general stats" dominating "enumed stats" is a good idea, as we don't have this other mechanic to really work with much.
Though this could be solved in part by increasing the prevalence of special passive offensive abilities (more units with odd damage calculations, increasing the role of armor which would increase the role of armor rotting, etc.)