The XP cap explanation is just flat-out not fair to offline players. I despise online play. I can do it to a small degree (around 600 ranked tops ) but I'm not very good and I hate it beyond words. I think online play is unfair for one. People at the top ( 900+ ) get to complete BR and Events playing downhill to people with greatly inferior skills. While people in the 400-600 range like myself are playing uphill against people with greater skill almost constantly. This means the people at the top almost never play against people of the same skill or greater and people at the bottom do it constantly. That's just not fair and to allow people with the greatest skill to get the rewards by playing people of vastly inferior skill and be rewarded for it is in my opinion just straight-up bullying. So I don't touch online unless I feel I have no choice. 2 fixes would greatly improve online play IMO. 1 put in another line at 700 like there is at 400. That way nobody who even 1 time gets above 700 in rank in an entire year can play down for rewards. This way everyone has a more equal path to the rewards by playing people of similar skill levels. 2 Use ranking in all online modes and all online modes affect your ranking.
I said all the above about ranked play so my position on online play was clear. It's not fair to offline people who don't want to touch the online programs to miss out on that XP. I thought I could play my way? Please increase offline program xp in like conquests and mini-seasons for offline players so we don't have to play online.
TLDR: please find a way to increase xp for offline players so we don't have to do online programs for xp to keep up or eliminate the XP cap and raise the xp gains back to previous years levels.
Edit:
As for getting 99s early. There should only be 3 99s in the game until around the All-Star game at the earliest. 1 AL reward, 1 NL reward, 1 full Live series Collection. You created this problem by putting 99s in the game way to early. Please don't punish us for this choice.