Heh, Leithe.
I have a fix that would be easier to code AND make the skill basically do what is intended.
Make the thing a 12 second buff with the same recast and immunities.
If target is fighter or self: Double all hate for 12 seconds (damage and taunts)
If target is non-fighter: make all hate increasing acts do the same amount as a deaggro.
This would help fighters regain controll and give them a big lead on the hate list and it would save squishes by letting them use their biggest hits as detuants if they rip.
I think the problem with this spell is that not everyone targets through the mob and such and that makes all those checks confusing. Simplify it as I list above and it would be the ultimate hate management ability... which it is described as if it actually worked as intended.