I have never been a big fan of the last few progression systems EA has tried with Madden, but I absolutely hate the XP system. Players perform better because they get better. They do not perform better in order to get better. It makes no sense.
Before this system, though, we had the potential ratings that were A, B, etc. I hated those as well because you knew a guy was practically guaranteed to progress to a certain point. You also knew if a player was a bust or worth investing into immediately or not. A 5th round draft pick may have a killer per-season, but when you see D Potential, you cut him because why would he be worth keeping around?
I've wanted a system that is much more organic and customizable by the user for years now. Simply look at what Out of the Park Baseball does with its system and try and recreate it.
Players have current ratings and potential ratings. These potential ratings are not all-knowing, unless you set your game up to where they are. You can customize the game to where the potential ratings are 100% accurate, highly accurate, accurate, not very accurate, etc. It is up to the user.
Players also are not guaranteed to ever reach their potential, they are also not guaranteed to stop progressing when they reach that potential. They are also not guaranteed to grow as set ages. A guy can enter the league and be the same player from 20 to 28 then randomly blossom. That guy could never grow as a player in another save. He may enter the year at 20 years old, regress at 21 and 22, then explode into an all-star at 23.
No franchise is the same, no players follow the same progression paths. Some guys peak at 24, others at 34. It feels natural, no GM, you or the CPU, ever truly knows how good or bad anyone will be in a year from now or 10 years into the future, unless you set the settings up.
You can also customize how ages affect progression and regression. You can make hitters regress quicker than pitchers, you even have the ability to make it to where the progression between years is more random or more streamlined in your franchise. You can just about eliminate the randomization, take all the organic feel away, and make the game's system act as static as Madden's if you really wanted.
This is one of the major reasons OOTP is as popular and replayable as it is. In my most recent Braves franchise, Ozzie Albies was a star for me in the first two years. He performed like he did in real life. In most people's franchises he is a perennial all-star and potential HoF player. Well, after my first two season, he got hurt and missed a couple of months. I rushed him back with no rehab assignment. Ozzie Albies came back and slumped.... or so I thought. His slump never ended. He performed poor all year. He performed poor into the postseason. Then after having my scouts run multiple reports on him it turns out that he's not in a slump, his injury may have been coincidental, or it may have completely derailed his career. He still had decent fielding ability, but he could no longer hit at all. He lost all ability at the plate. He turned into a hole in my roster that I didn't want to get rid of because 1) I love Albies, and 2) he was one of the most popular players in my franchise with the fanbase, and 3) he had a clubhouse presence that was worth keeping around.
In the majority of franchises, Albies would not regress so hard. He would have continued to get better and probably does have a HoF career based off of his first couple of years for me. Instead, I got the playthrough where he regressed in his mid-20's and it felt completely natural and not like the game was screwing me over. The same type of thing happens the the AI teams as well. I traded away Sonny Gray after he had an all-star year. I didn't want to do the trade at first, but I couldn't pass up what I was getting offered in return. I traded him away. I followed his career closely. I won the trade 100%. Sonny Gray had a great 1st half of a season after I traded him away. Then his career declined and he became a journey man who was lucky to hold a place in a rotation for most clubs.
That kind of organic randomness is what helps separate an average franchise mode with an elite one.