OK, what I am going to say is highly subjective, based on personal observation and bias.
In my humble opinion, there are only 2.5 good referees in entire NBA. Steve Javie and Dan Crawford, they are good not because they don't make mistakes. They do make mistakes, because they are human, and basketball game is fast and a body-contact game. They are good because they are consistent, you rarely see them treating 2 teams on the same court completely differently. They are good because they don't make themselves bigger than the game. They are good because they give players room for play, and more importantly, they give players room to let emotions out. You don't see them confronting players or provoking players by stare at them after controversial calls. They hit players with T because disrespect to the game, not because they curse once or twice for a bad play.
Dick Bavetta used to be pretty good, but he's just too old, that's why I only counted him for half good one.
The rest are pretty bad, because they are the reason that NBA has all those unimaginable terminologies. For example, home-cooking, meaning home team gets better calls; start-treatment or rookie-treatment, meaning obviously they are openly treated differently. Even worse, there is this "drawing fouls" or "initiating contact to get calls". Obviously, the active ones are getting rewarded for "being fouled" because they instantiated. That's how Reggie Miller live on kicking out legs to make contacts to get to free throw lines. That's how Karl Malone kneed people in drive to get contact and got rewarded for free throws.
Among those below-average or bad refs in NBA, 3 of them made the worst list in my book. Bennett Salvatore (he's just bad in all aspects of officiating), Joey Crawford (we all know he's dumb and crazy), Tony Brothers (one of the most biased refs for no reason).
Before I end my ranting, I won't want to leave the only female referee out, Violet Palmer. No offense, she's just not up to the task.