You bring up a couple of good points so I want to make sure that I address them
I'm assuming that you're talking about over recruiting in game in NCAA Football. Only allowing us to roster 70 players actually encourages people to over recruit because you can't redshirt someone and let them take the time to develop. Because of the roster limitation you end up cutting someone you would otherwise keep. It's common for people to recruit 3 people of the same position knowing they will only keep 1 or 2 of them and just cutting the others.
A key point to note here is that this is far less noticeable issue with a team that already has a high talent level and has the prestige to continue to bring in game-ready recruits. For instance, I've never really had an issue when playing as Miami because I can always recruit 70-80 overall game-ready players. The issues are when you have a 1-3 star program and really have to rely on redshirting and development over 3 years. In real life teams like Boise State stay competitive by recruiting 2 and 3 star guys, redshirting them, and then they see the field when they are a redshirt junior or senior. They know they can't compete with Alabama for the game-ready freshman, so they don't try to. It's difficult to do this in the game because of the roster limitation.
It would be relatively easy to implement some ways to stop over recruiting, here is how I personally would do it:
- In place of the "25" limit the number would show your number out of 85, so if you had 15 outgoing guys your number would be 70/85. If you had 25 outgoing seniors it would show 60/85.
- Some years your recruting classes would be bigger, some years they would be smaller - just like in real life
- You would be allowed to sign over 85, but your coach prestige/trust/promise factor would take a hit every time you cut someone.
Early entries and transfers would take place at the same time they do currently in NCAA Football and you would know then if you could add more guys to your class or not.