Problem with NBA officiating is the different treatment given to superstars vs. ordinary players. It is as if there are two sets of rules. If any ref show signs of this, take him off games and replace him with someone who won't curry favor with the superstars. I actually was encouraged last night when they called some fouls and a turnover vs. Lebron in the 4th quarter, and he got in foul trouble. The refs normally do not allow that to happen.
I also think that the players need to shut up and play. I favor a quicker whistle for mouthing off. This was attempted a few years ago, but they backed off.
Replay is necessary, because things happen so fast. If on a replay a player is clearly faking contact, they should be subject to a technical foul. Flopping and faking would stop almost immediately.