We do something that solves some problems, but creates others. We do an auction draft where you fill 3 minor-league slots.
Our definition of a minor-leaguer is:
1) Someone who still qualifies for the MLB rookie of the year (less than 130 ABs, 50 IPs, and 45 days on the active roster); and
2) Does not start this year on the 25-man roster of a major-league team.
This causes some complications and guesswork. Because if a player is drafted as a minor-leaguer (and the draft is obviously held before the season starts) but then is placed on the 25-man day 1 of the season, the fantasy owner will have to drop someone off of their regular roster and turn their "minor-leaguer" into a regular player (or drop the minor-leaguer and make them a FA). This works for us because we do it via auction and all in one draft. I don't know how you could tinker it if you were holding a snake draft with a separate minor-league draft other than maybe they're just forced to drop their minor-leaguer (say, David Price) and make him available to everyone else via waivers.
As I said, it fixed the problem of calling someone like David Price a minor-leaguer, when noone might think of him that way, but it does cause other complications. You're not going to find something that's perfect.... but if you do, tell me. I'm all ears.
0-3 to 4-3. Worst choke in the history of baseball. Enough said.