A armor system I thought of in details:
The game should only have one armor type, and armor only function as a protection against CC, not damage to vitality.
Weapons, skills and environmental effects should have armor damage and vitality damge as seperate stats, they could be high on one and low on another or only having one of them.
Then depend on how powerful the CC is, getting CCed would restore a portion of the character's armor, charm could be 100%, stun could be 80%, taunted could be 20%, and so on. Restoring armor through other means should be inefficient or impossible.
Armors of the most characters should be significantly lower than they currently are.
Now you have a elegant and deterministic system where CC could be effective throughout a battle, but chaining hard CC would be difficult at any stage, and the player need to weigh CC against damage to vitality and weigh hard CC against soft CC. Unlike the current system where CC are difficult at the begining, then after the player rush to break the enemies' armors, he could just chain CC them to death.
A more radical design would be characters start battle with 0 armor, and only get armor after getting CCed. Armor would basically be "CC tolerance" then.