These are working in game. Whether they are accurate; i'm not smart enough to figure out. But they will give useful info at a glance anywayz. try them out.
1) dodge; parry; base miss
/run local d,p=GetDodgeChance(),GetParryChance() print(format("Avoidance breakdown: %.2f%% Dodge + %.2f%% Parry + 5%% Base miss = %.2f%% Total Avoidance.",d,p,d+p+5))
2) (has shield block chance so good for warrior)
/run local d,p,b=GetDodgeChance(),GetParryChance(),GetBlockChance() print(format("Dodge+Parry+Block chance: %.2f%% + %.2f%% + %.2f%% = %.2f%%",d,p,b,d+p+b))
they both give different numbers. Number 2 has block chance so shield users macro.
Number 2 tells you what it does in game.... dodge percent and parry percent and some 5% base miss i have no clue about if it applies in vanilla.
in thinking about this.... i think its not a true "mitigation" macro but just "avoidance" so it has no usefullness with armor in showing a "mitigation" percent to all incoming damage.