I didn't actually offer an alternative. There are plenty of ways you could change it, like say, trying to run in front of someone and stand still is an automatic foul. You can still call charges when a guy tries to clear out with his arms or drives a shoulder into a guy. You want to stop someone on the way to the hoop? Try to block his shot or steal the ball, don't just jump in front of him going full speed and try to crash to the floor.
Again, the incentive to run in front of someone and stand still to draw a foul is poor design.