I train my players until the age of 24. When they are 25, I buy an 18 year old replacement fast trainer. Then I train the new player, who replaces the older one either the season I bought him or the season after (with 19 years). Sometimes I let a 26 year old play as well, even when his overall quality isnt that high, when he got good skills and performs well.

So generally I have a cycle of 7 seasons (19-25) in which a player is a starter, with 25 a new 18 year old is bought for this position, so when the other guy turns 26 he gets on the bench. It works really well for me this way.