Well if you think about it thats the way it should be. Nobody really loses skill and gains it back at such a random rate, its all about the other factors in their environment that makes it seem like that. However IMO there's a couple things I'd like to see changed:
1) Separate ratings and progression/regression into different categories. Intangible/mental ratings never regress, physical ratings should always drop off around the same general timeframe for all players, skill ratings shouldnt have a huge drop off in regression. Each rating should be put into one of those three categories and each rating category should have its own progression/regression settings.
2) The current overall rating should be shown as a letter grade and there should be a different overall rating shown as "production" or something along those lines that influences things such as minutes, trade value, FA value, etc. If a player is a 80 ovr in todays NBA but puts up 25/5/9 consistently, he should have a much higher value than his actual overall rating suggests.