As I've said elsewhere if the league really wants to stop tanking the only way to do it is to make it financially hurt the owners. I'm talking massive fines, like 8 figure type stuff. When the money doesn't make sense to tank, teams will stop tanking. You just have to be careful between being bad and tanking and that is often a very fine line.
The one thing I've mentioned in the past (probably several years) that I think would help is to make a rule that for games 1-80 of the season a player can only miss 1 game 2 times. After that, each time they miss a game, they must miss a minimum of 3 games. That would stop teams from resting players. They'd obviously have to have rules about a guy that normally plays 30 minutes, but only plays 10 in a game, and things like that, but that would stop the resting, at least to the degree they do it now. It would also probably help players not play through injuries that perhaps they should really be resting for. So you slightly tweak your ankle early in the year, maybe the team just holds you out 3 games to save the 1 game rest for later in the year. Things like that. That to me would stop that.
You do that hand in hand with heavy fines for tanking, and now all of a sudden the bad teams can't just randomly sit their best players for 3 games either without heavy financial consequences unless they are actually hurt or sick.