@ZDL good idea, but I still have few problems with your implementation:
1. How is your implementation not gonna ignore combat since it seems to Furious Charge globe immediately as it appears?

2. GetOffensivePower() is only called when Trinity or auto-follow activates the combat. So once the leader moves on, the combat switches off, your globe picking stops working in the same manner as it does now.
3. You would need to inject it into GetBuffPower() which is called also outside the combat but Trinity for some reason hardcoded limitation of 500ms for repeating calling of identical spell in GetBuffPower().
4. Why do you check Player' position in the avoidance in Core.Avoidance.InAvoidance(Player.Position), shouldn't you check the globe's? Barbarian should also completely ignore the avoidance.
5. I would guess that putting Furious Charge before Ancient Spear won't give you enough fury consumers (for zodiac ring) to have 100% Ignore Pain uptime.
With all these I can still see a merit in your idea. Although I don't see it solving any of your concerns, it can still solve the overwrite of Trinity's
DefaultWeightingProvider.cs mentioned in the OP. Overwrite of DefaultWeightingProvider.cs is dangerous because it is the part of code where targeting and combat activation is decided, it's code is a complete mess, and a probability that Trinity guys will change something relevant inside is high. I will take a look.