I came up with a simple fix and I've been championing it for years on various message boards, but here we go again, maybe Silver will read it.
As soon as a team is eliminated from playoff contention, they begin playing for the first overall pick. Every game they win is worth 1 point... but they must be eliminated from playoff contention to earn those points. The team with the most points at the end of the season gets the first pick.
This benefits the worst teams in the league (who are eliminated from contention early) in that they have half to a third of the season to earn "points". Teams just on the cusp of making the playoffs would obviously have fewer games to earn points in, so would pick lower.
So let's say the Knicks are garbage next season and are eliminated from playoff contention with 30 games to play. Let's assume that the Knicks play .300 ball for the rest of the season and finish 9-21... they would finish with 9 points. Now, if a team is eliminated with 10 games to go, they could still win out, get 10 points, and finish ahead of the knicks in the draft.
It encourages teams with nothing to play for to play their starters and fight for draft position.