You could have a reverse ranking with a modifier.
For instance, team with the worst ranking gets a "1", second worst ranking gets a "2", etc.
But, for every .100 worse your record is in the final 10 games (or 15, whatever) than the record for the 82 total games, then your get added to your number a +2.
Example: you were a .400 team for 72 games of the year. In the last ten games you were a .100 team, for a year record of .363 That places as you as 8th worst in the league so your number is '8'.
But thats a .263 difference for those last 10 games, thus you receive a +5.26 penalty and now your number is 13.26.
Now the actual draft picks happen in order of lowest number to highest.
If you were to tank at the end, you will be penalized. But the system is still very much based on the worst records, and those teams that have the worst records will certainly be picking the earliest.
I can probably come up with a bunch of other mathematical models to highlight a disparity towards the end of the season aka 'tanking'. All you need is a system that penalizes for it and it becomes counter productive and it will stop.