my suggestion would be to move away from a "reliant on getting hit" model entirely and toward a rage-style resource instead, similar to Classic WoW Fury Warriors: your weapon hits (successful attacks) generate the resource, and you dump it into your stronger abilities (Frenzy, Cleave, etc.) when you choose to.
I know Vengeance-as-retaliation is intentional, and it was mentioned that generating it from offensive actions "undermines its use as a retaliatory tool" I get the philosophy there. But as it stands, that same design is what locks out off-tanks, DPS-leaning Fighters, and the second/third Fighter in a group from ever meaningfully using half their kit.
If the retaliatory fantasy is the priority, maybe it's a hybrid: base generation from landing hits (so everyone always has something to work with), with bonus generation or a damage/mitigation buff layered on top when you're actively tanking and taking hits. That keeps the "retaliation" flavor for the Main Tank without hard-gating the resource behind "are you currently eating damage."
Alternative I'd also consider: a combo-point-style system instead of stacks-that-decay and build points through your rotation, spend them when you want the payoff, no RNG-on-hit involved.
Either way, I think the underlying goal is the same one you already flagged making sure the kit doesn't lock out anyone who isn't the one being hit.