the best solution I've heard so far is putting the teams not in the playoffs in a tourney and have those teams battle for draft seeding.
I don't think this is a good idea. Actually, it's a really bad idea.
First of all the worst teams are at a disadvantage. Take the NBA this year. Phoenix was the best non-playoff team with 48 wins and they would have a huge advantage in such a "tourney". So the mediocre teams get to improve while the truly bad teams stay truly bad without good assets to improve themselves. That doesn't sound too good.
Secondly, it would encourage certain teams to tank out of the 7th and 8th playoff spot so they could enter this tourney as the favorites. If I'm Danny saddled with a marginal team fighting for the last playoff spot and I have a choice of getting swept by the #1 seed or entering the new-Lebron James sweepstakes as the odds-on favorite, I'm not trying to get that playoff spot. I'm tanking to get into this losers tourney. Tanking out of the playoffs is worse, IMO, than tanking for a top pick. Since the games will likely be played at home, the team will probably make as much revenue to boot than playing on the road in the playoffs.
Finally, you're asking the players on the court to decide the direct seeding. Think about that for a minute and the ramifications of that. I'm a decent SF in a draft where the #1 player is a C and the #2 is a SF and my team gets to the semifinal game. I'm bricking every shot to lose the game so my team doesn't draft my replacement.
In short, it doesn't discourage tanking - it just encourages tanking of a different sort - and opens up a host other problems.