I am just finishing up my first season of play in HD, so take the following idea with a grain of salt or maybe four. If my ideas betray a lack of understanding about the game engine, let me know, but please be kind about it 
Player Improvement
I think that ratings improvement would be more realistic if a percentage of ratings growth for a player would happen based upon minutes played in games, with it heavily weighted towards early in a players career. Right now it seems to be a straight line based upon work ethic and practice time until the player reaches their potential and then it stops.
I would like to see improvement happen rapidly for a player once they are part of the regular rotation and then have the effect taper off once the player has “adjusted” to the level of play. This would have the effect of teams playing a bunch of freshman getting beat around earlier in the season, but making rapid improvement so that by the end of the year they would become much tougher to beat. It would also give coaches a decision to make, do you play the veteran who is better now or the young guy who has more potential, counting on the payoff being the end of the season/next year? It would also result in two equal players being radically different in effectiveness if one spent their freshman year as a starter while the other redshirted, but as the redshirt plays, that gap would narrow.
As an example, let's assume that player A has a current rating of 500 and a ceiling of 700. Right now, that player is going to improve in a linear fashion, where they will be 550 by the end of their freshman year, 600 after sophomore, 650 as a junior, and 700 when they graduate. My suggestion would be to make about half of a players improvement occur based upon how much playing experience that they have, with the affect maxing out somewhere around that of a full time starter. So, for a freshman who gets thrown into the fire, by the end of their freshman year instead of being 550, they would be 625 (100 for the playing experience + 25 from practice/work ethic), and the progression would follow as 650, 675, 700. The player who warms the bench for two years and then plays regularly as a junior would only be rated 550 by the start of their junior year, but would then get the experience bump and would be equivalent to the guy who played as a freshman by the end of his junior year.
This effect may already be part of the engine, but if so I am not sure it is strong enough because it seems that underclassmen are less effective than what I would expect.
Recruiting
My understanding of recruiting is that it is heavily weighted toward how much you have spent on a recruit, becoming almost a bidding war when two or more teams with similar prestige are involved. I like this concept and think that how much attention you show a player matters a lot, however, I think that it should be capped, or at least vary based upon the “personality” of the recruit. If this were to be done, coaches would be able to cast their net a little bit wider, and maybe spend more of their resources recruiting/scouting other players. They would also know that if they are maxing their effort toward a player and still not moving up the list, it is time to cut bait and move on to plan B. Ultimately, I would envision most recruits going with the offer from the highest division/prestige, even when they have been recruited all along by a lower prestige team that has been “showing the love” (although I don't think the prestige effect should be nearly as high when D-II teams or D-III teams are competing for a player). This would suck as the lower prestige school, but to be honest, I think it happens a lot in real life.