There's what's best for any given player in the here and now, and there's what's best for all players as a whole going forward in the future, IF they want to participate in what we think of as college basketball. Unfettered season-to-season player free agency via transfer would eventually destroy that. In the short term meantime some players can use it to their advantage, but once the institution collapses, that goes away, and it's uncertain what exactly would replace it... something even more exploitative and/or just less rewarding is very possible (think old minor league baseball).
Professional major leagues have salary caps and other mandates to promote franchise health and competitiveness across the enterprise, to better the over-all product. Players unions have collective bargaining agreements to similarly protect the entire body of talent from the worst excesses of exploitation.
If the consensus is that college basketball (college revenue sports generally) is something worthy of preserving, then its short-term operation shouldn't be run in a way that eventually destroys it. Limiting player freedom of movement arguably works to help maintain medium-term stability, but there's enough inherent unfairness possible in the results to also cause longer term weakness (talent opts out to go elsewhere). Coaches move and abandon players. Coaches push out and recruit over players. Much transfer traffic is coach-driven. If players had compensation and protection (such as multi-year scholarship contracts), it could help stability while improving fairness, and lessen the outsized impact that coaching turbulence tends to have. Multi-year contacts would also increase the responsibilities between players and institutions, and presumably the larger enterprise (the NCAA or whatever successor) would be able to institute protective floors and ceilings (e.g. salary cap) to regulate against runaway excesses.