Too many times refs don't know what call to make when an incredibly fast athlete (e.g. LeBron) comes driving hard down the lane, and a quick footed defender gets in front of him the last second. Is it a block? A charge? Let's face it, we could flip a coin and have about the same success rate making the right call as the refs. I don't believe in conspiracies, I think that the refs try to make the right call for the most part. IT's just that the game has gotten so fast, the athletes don't permit enough time to make the right call, and the rule is awfully subjective to begin with.
The best solution would be to make it a "no call, let them keep playing" unless it is an obvious charge, or an obvious block. For all the ones where it is too questionable, the refs should be instructed to make no call, just let them play. This should have the by-product of cutting down on flopping as well. If you want a separate rule to govern flopping (suspension if you get caught on video tape doing it a certain number of times), that would work for me. But the first and most important change has to be the "too close to call" into a no call. It would discourage offensive players like LeBron from just plowing into guys. The worst games are ones that become free throw shooting contests.