Personally I think that you need to keep the charge in the game, otherwise there is the possibility of the game just becoming a wrestling match and the stronger team wins by default. I like the fact that the game is a balance of skill, speed, AND strength. I don't want it to be strength first and everything else secondary. If I want that, I'll watch football, which I also love, but for entirely different reasons.
To be honest I think the best way to fix this issue to simply say that a secondary defender CANNOT take a charge. Leave it so the primary defender (on-ball) can take a charge, but a secondary defender cannot simply rotate over and slide under an airborn player.
I also think that lowering the shoulder to slam into the defender for the purposes of creating space should be called more often. I feel like the balance of the calls go towards players being passive defensively (the 'standing in the way' charge), whereas an aggressive defender who is forcefully bodied away with the shoulder slam doesn't often get rewarded for the defense.