I think 2 year contracts would really improve the situation and restore a lot more stability (which would be a really good thing for the sport).
There would probably need to be some kind of incentive for players to sign a 2-year deal (maybe have some bonuses for the 2nd year or something). It would need to be worth it for them (in other words, I'm not looking for ways that universities can take advantage of players), but do think it would be a good thing if the details could get worked out.