I don't watch pro football. Reason being is that it's purely an entertainment business. Players don't play for their cities or any local allegiance . They play for whoever pays them the most.
Div. 1 college football has become a farm league for pro teams with the best players not finishing 4 yrs of college and sitting out bowl games at the end of their 3 yrs. They don't really care about the team they're playing for, but I can't say I blame them.
So here's my solution: If a player makes the decision to accept a scholarship to play football at a Div. 1 college, they're not eligible for the big league until 4 yrs. later. If they want to quit early they can play for a farm team or play in the Canadian or European league until they become eligible.
If they believe they can play in the big league out of high school, go for it, let them be eligible from day one. Baseball drafts players out of high school.
But I'm getting less and less interested in college football. It's a farm league for the pros.
I don't have a problem with players leaving for the NFL after they play 3 years. Unlike many sports, football players have a very limited playing time. And the way the contracts work, the NFL teams can stop them from making serious money for a stretch of that. The typical 1st contract is 5 years. After that, the teams can put the franchise label on a player and keep them for another year. (if I am wrong about how this works, feel free to correct me)
So a player who stayed 4 years in college is around 28 before he is an unrestricted free agent, where the big money comes in. But for many positions, like RB or WR, 30 years old is getting old.
Also, nothing prevents a player who leaves after his junior year from finishing his degree. Alabama had several former players who are active players in the NFL come back for their graduation in May.
And given that any play can result in a career ending injury, adding another year of playing increases the odds greatly. There are an average of 72 plays in top tier college games (more for some). 12 to 14 games in a season (depending on bowls and/or making the CFP) That means that staying for your senior season adds between 864 and 1,008 more plays (and more chances of injury) for the player.
But the main thing that bothers me about your post is that you want to take away a players ability to choose what they do with their lives and their talent, just to appease your desire to see them play college ball longer.
The constant claim that the NCAA is only a farm league for the NFL is silly. The players get to decide where they play. And playing college ball well is how you impress the pros. Besides, most who play college ball never play a down in the NFL.