The absolute fairest way is have the coaches draft teams in any manner and once all of the players are selected put the teams into a hat and draw them out.
Does the league completely redraft every year? If so the "snake" method is likely the best.
I used the snake method also, but had all coaches in league plus outsiders ranking players. You never will get it perfect. I also didn't let an assistant coach get his daughter just because he was a coach. If they didn't get the pick, the team had to bargin with the other team to get her.I think you need to draft new teams every year also.