But those who choose to leave between November and December 31st, must sit the next year... the NCAA can give these players a Green Shirt year... where they don't lose any eligibility but they are ineligible to play in any games the following season.
This way a transfer is allow to occur, but there is a consequence for leaving your current team early. I would also levy the same against coaches. A coach can be fired prior to December 31 and the school must pay out the rest of the coaches agreed upon salary. However if a coach voluntarily leaves their school, they must pay back the seasons salary, essentially they just worked for free, or the hiring school can pay it.
Reopen Portal Transfers from April 1st to June 15th, anyone can transfer at this time and not lose any eligibility or not have to "greenshirt" the upcoming season.
I would allow 1 exception... if the team chooses to fire their head coach before December 31st, players from that team are eligible to transfer without having to sit the upcoming season, so no greenshirt year.