Ranks in military-themed games are often used to denote a player's level or experience, and gate access to certain content.
In single-player games, where you are explicitly made out to be the lone hero against the coming hordes, increasingly ridiculous ranks are okay because of your in-game achievements.
If STO was a single-player game that was simply played online, then gaining flag officer rank is okay, since you are the sole legendary Starfleet or KDF officer who fought the Borg, the Dominion, the Undine and the Breen. You deserve that high rank.
The problem comes in when STO moves into the MMO aspect - suddenly, everyone and their brother Dave that you meet in-game are also technically "the hero". It breaks immersion wherever a group of Vice Admirals are seen doing mundane foot soldier work together whilst their BOffs are sipping Tarkalean tea from the safety of their starship.
The best compromise would be to decouple ranks from levels altogether:
- Levels gate access to content / FE.
- Ranks are milestones awarded to you once certain levels are achieved.
Therefore, this would allow Cryptic to increase the Level cap ad infinitum for future content - so a Level 120 Ensign and a Level 120 Captain can team up together without breaking immersion (the former could have been simply a very experienced junior officer).
Ranks would then be relegated to cosmetic dialogue titles NPCs address you as - so I can be a Level 80 Captain, whilst folks like whamhammer can be a Level 80 Lord High Protector of the Federation - RPers and immersion players can go for canon and realism whilst the rest can reach whatever goofy speed rank they want