All-in-one Charge/Intercept/Intervene + Stance Change macro possible for TBC Classic?

I’m looking for a macro that automatically does the appropriate Charge/Intervene/Intercept based on combat conditions and whether or not your target is harm or help. This part I can do. But I’m also wanting the macro to automatically switch stances accordingly. This I want to use mostly for tanking, so sometimes I want to charge a target, or intervene a party member or intercept another NPC if I’m in combat.

This doesn’t have to necessarily be a GSE macro. I have tried this so far:

/cast [harm,nodead,nocombat,stance:1] Charge; [help,nodead,stance:2] Intervene; [harm,nodead,combat,stance:3] Intercept; [harm,nodead,nocombat,nostance:1] Battle Stance; [harm,nodead,combat,nostance:2] Defensive Stance; [harm,nodead,combat,nostance:3] Berserker Stance;

This works mostly but not 100%. If you are out of combat it will change to battle stance, then out of combat will charge, then once in combat it will switch to defensive stance. But it gets caught and stuck in berserker stance if I hit it in combat. If I am in combat I want to be able to switch to berserker stance and then intercept another target, but then once I’m in berserker stance and intercept if I hit it again, it wants to intercept again but fails because i’m too close to the target even though intercept is on CD, which is weird. It doesn’t seem to know how to automatically switch back to defensive.