My armor system design:

The game should only have one armor type, and this armor only function as a protection against CC, not damage to vitality. Attacks should have damage to armor and damage to vitality as seperate stats.

Then depend on how powerful the CC is, a character getting CCed would recover a percentage of his armor for each turn, charm could recover 100% armor after all turns end, stun could be 70%, taunted could be 20%, and so on. To CC the character again, the opponents need to break his armor again. Recovering armor through other means should be inefficient or impossible.

It's partly inspired by D:OS Epic Encounters mod's temporary CC immunities.