I am not sure what the best and most just solution is, but I do know it is time to penalize basketball players for flopping in an attempt to get a foul called their way. It is bush, dishonest, and against the spirit of good sportsmanship.
I never saw Michael Jordan (probably the most competitive athlete ever) flop, not even once. Doesn't that say something about flopping?
Basketball is a fast sport and the referees do not get the benefit of instant replay, so they are going to fall for the flop sometimes. That's just not fair.
I am sure that calling flops would be tough for refs. But so is the charge-versus-block call, and besides, that "it's difficult" is not a good reason for not implementing rules that will make the game better.
As for the proper penalty for a flop, a friend of mine suggested the flopping player be called for a technical. Since two technical fouls in a game gets you ejected, and I do hate flopping, this sounds reasonable to me. Jeff Van Gundy suggested a two-shot shooting foul following the first flop and a big "F" as a label on the uniform of the offender after the second.
This actually sounds even better.
If Vlade Divac (and other notorious floppers) wants to be an actor by falling down every time a soft wind comes his way, fine, he can work on his accents so he can make movies.
But please stay off the basketball court with those bush-league antics. And I know Divac retired four years ago; this was really addressed to all the floppers currently in the NBA.