The reason players flop, is you can charge into a player and if he stands his ground and takes the contact, you will get a no-call or a foul. Fix this and you fix flopping IMO.
Players didn't start flopping because they wanted to get knocked over and miss a play, they did it because offensive players who are big enough can drive with impunity UNLESS you fall down.
A bigger restricted area, plus eliminating defensive three second, plus post game review of flops with fines and ultimately suspensions seems like it would work.