In a perfect world - here's the rule I'd like to have: If a coach leaves a school for another job before his contract was up, all the players on his former school should be free to transfer. Let's face it - the vast majority of D1 athletes make their choice based on the head coach (or in FB, maybe the coordinators). If the coach can up and leave without honoring his commitments, then the players should be free to leave, too.
Of course, in the real world, this would be unworkable. Every time a coach went "job-jumping," you'd create a group of 'free agents' who could follow the coach to his new job, or offer their services to "the highest bidder," so to speak. You'd have to institute a whole new set of rules, and probably some type of time period or window in which to transfer. Otherwise, the school that Coach X just left could find itself without enough players to field a team - and the new coach would have to go out and try to sign some 'free agents' from another school.
Still, I think the players are getting the short end of the deal. The coach can sign shoe contracts, hold camps and rake in all types of outside income, but the players, who generate all that revenue, can't get a dime.