i would add deliberatley tanking towards the end of the season.
i dont know how to avoid it other than tying salary to games played - which i dont think will ever happen - or having a league doctor or official clear a player to play and if he doesnt, the team is hurt somehow. be it through the loss of draft picks or salary cap space. there has to be some sort of penalty for the blatant tank jobs ok city has been doing for the last five years.
i know the pistons did it too, but ok city has taken it to ridiculous levels. no other sport has the kind of tanking you see in the nba.
like if the league doctor clears your player to play, if he fails to play within x amount of days you lose his salary on your cap next year. if it happens with multiple players you lose a second round pick. if it happens two years in a row you lose a first round pick.
i know this isnt going to happen, but i dont see many other ways to incentivize teams to compete when they have no hope of making the playoffs.