Another option (which is already in the game script with the saving throw calculations) is just make all skills debuffs have duration based on rank in the skill-type (and talent bonuses) that stack in duration and then % of that duration (rounded by +/- 0.25) is applied proportionally to % of current shield you did in damage. If a 600 hit with 2 turn knockdown hits a 2k shield, there is no knockdown, but if you had torturer, you would get a 1 turn knockdown since 3-70%=0.9 thus rounded to 1.

Soft cc and dot debuffs would have higher base turn count, hard cc lower, if warm>burning would be resisted, it would still roll for increased duration of warm then (same for chill>freeze), but poison and non-ground oil would need rolls to explode (or wet to freeze).

Taunt, Madness and Charmed success rate could even be based on more flavor based/classic D&D thing like caster vs targets Constitution, Memory and Wits respectively with small bonus given by Ret, Leadership and Perseverance (again respectively).

Perseverance could then also be a universal on hard cc proc for the armour restores AND be a nice boss stat (do you cc and prolong the fight a bit depending on how high it is vs take a round of meteors to the face, but not "heal" the boss).