Personally, just on the breaking the contract front -- I think the much better answer is to punish the player.
Sure, go right ahead, break your contract. And then you're ineligible next season.
If the school, conference, player ignore that ... then you revoke their wins and any championships...