My opinion is that if you are an undergrad and you choose to transfer before you graduate then you must sit a year. No exceptions.
Otherwise, full scale recruiting of any outstanding athlete is never going to end.
Say a school signs the highest rated five star running back in America and he doesn't win the starters job as a freshman.
Every major power five school is going to do non-stop recruiting of that unfortunate young man and they'll be making promises that they have no idea if they can keep. It will make everybody miserable....the player, his coaches, his parents, everybody. And it takes away the requirement that you actually have to compete in order to be a starter in major college football. If you don't win the job just go to a school who guarantees that you will but, in all honesty, who can't guarantee anything.
Some might ask, "But what if he needs to be closer to home because of a family emergency"?
He still needs to sit a year, ESPECIALLY if he has a family emergency. He needs the time to devote to his family and not to his football career. Family is more important.
Finally...we can't leave every case to the judgement of the NCAA. That's like going to Dairy Queen and ordering, "A Total Nonsense Burger and a Cluster please".
Simply make it the same for everyone. Just make it fair. Let the rule be the rule and everybody, like it or not has to live by it.