There are basically 2 elements to systems of leveling up that drive me crazy. (And I should note that it is while being a player that I noticed how annoying they were to my player-side experience. As a DM I've implemented techniques to make the game work more like I want it to as a player).
Leveling Problem 1: Capability Familiarization. This is where you level up so fast (every session definitely qualifies, and I'd even say every 3 or 4 sessions qualifies) that you never really become familiar with your new capabilities, because you are constantly gaining new ones. I hated this as a player. One of the most frustrating things to me was when I was playing a character that only knew a very limited number of psionic powers (3.5e wilder) and I would gain a new power, but then gain another level or three before I even had a good chance to use the power. This is primarily an out-of character problem. I should get a chance to use every feature I've gained sufficiently to feel like I've become proficient in it before gaining new ones.
Leveling Problem 2: Inexplicable Leveling. This is where you gain levels without having any good in-character reason why you should have gained them. By good in-character reason, I mean that your character is actually doing things that would reasonably cause them to get better at the sorts of capabilities they are going to acquire and improve at when they level. If I spend 4 sessions doing nothing but social interaction and puzzle solving, and it took 4 in-character days, why in the infinite layers of the Abyss do I gain the ability to make another weapon attack, take less damage from a fireball, or acquire expertise in wilderness Survival skills? This is just as bad as Problem 1, but its primarily an in-character problem. It's the nuts and bolts behind the zero to superhero in a week issue. The effect (gaining class abilities--with all that D&D emphasis on the sorts of things those abilities do) doesn't follow the cause (making a few Charisma (Persuasion) and Wisdom (Perception) checks, and puzzling things out out-of-character). The effect needs to logically derive from the cause.
Now, I can understand how not everyone would care much about Problem 1. But I have a harder time understanding why people don't care about Problem 2. That might be because my brain is wired to spot and zone in on inconsistencies, and the energy cost of ignoring them is prohibitive to fun, whereas most people can more easily ignore them.
I think there are a few different ways you can handle this. All of them rely on you not playing most published D&D mega-adventurers as they were designed to be played.
Solution A: Episodic Play with Extensive Off-Screen Time. In this solution, your games are basically episodic, with months of downtime between each leveling point. It is assumed your characters are regularly practicing their adventuring skills and having minor adventures between play sessions. To be satisfying, you really have to indicate when these downtime periods happen, and at least the approximate length, but you don't need to go into detail. Say you played a (non-mega) adventure in 4 sessions. At the start of the next sessions, your characters all gather after having had 6 months of time out on their own (and leveling up their character), and you start a new adventure. In this sort of play, your actual play sessions are just the highlights of your characters' career. It doesn't much matter which XP/leveling system that you use here, as long as the end result is that you only level up during extended downtime. This solution requires the least changes to 5e assumptions of play. If you want to maintain the 2-3 sessions to gain a level, you'll probably want to level up once in the middle of an adventure as well as between them (this gives you adventures that last about 4-6 sessions). Or you can set it to however much play you want between levels. This solution doesn't address Problem 1 directly. As a player you still haven't had time to become familiar with your capabilities in play before you gain new ones.
Solution B: You Get What You Pay For. In this solution, in order to gain levels you have to do the sorts of things that would logically give your characters the capabilities those levels indicate. In effect, this means you get XP for overcoming monsters, traps, and other adventuring challenges (I tend to lump the latter into modest "general adventuring" XP awards that I grant periodically)--the kind of stuff you actually use your class features for. You don't gain XP for story rewards or milestones per se (general adventuring XP can be kind of like that when it applies). You most definitely do not gain XP for any out-of-character reasons like good role-playing or adding to the fun of the table--that totally destroys the entire way this works. Use Inspiration or Scooby Snacks for that instead. If you play 4 sessions of interaction and puzzle solving that you could have played through as commoners rather than as adventurers, you don't get any XP to add to your levels in adventuring classes. This system provides much more verisimilitude, and you pay for it in time. You'll need to greatly increase the amount of XP you need to level (or decrease the amount of XP you gain from overcoming adventuring challenges). The benefit of this solution is that you can apply it with a more or less serial adventuring style where you pick up each session in-character where you left off the previous one in-character. This solves both Problem 1 and Problem 2, at the cost of a very long game.
Solution C: Campaign Time Controlled You Get what You Pay For. This solution is a hybrid of the former two. Essentially, it is the same as Solution B, except that there is a time requirement (in-character, though you could also include an out-of-character requirement, but this solution should already solve that by its nature) for your characters between their levels. I use something like a number of months equal to the next level you will gain must pass in-character before gaining that level (probably topping out at a year or so). This time can be any combination of actual play time and downtime. If the party has just gained level 4, it will take 5 months on the campaign world calendar before they can gain level 5, regardless of XP. So they might adventure for 2 months of in-character time, gain enough XP, and then take 3 months of downtime (training or having minor adventures, however you want to spin it). Or they might just take 5 months of downtime immediately so that they can level up right away whenever they gain level 5. Or they might take days and weeks off during their adventuring time rather than charging ahead at a breakneck pace when they don't need to. This one solves both Problem 1 and Problem 2. Its advantage over Solution B is that the downtime training allows you to set the XP leveling requirements lower than Solution B while still preventing the in-character zero to superhero in a week problem.
I currently use Solution C, and we intentionally have a very slow game (I calibrated it to approximately 5x more XP needed to level to create a decades long campaign allowing us to run lots and lots of adventures and visit most planes of existence and several adventuring worlds). For a more typical play experience, I'd suggest Solution A if possible for the campaign, or Solution C with XP requirements multiplied by as little 2x (you'll have experiment to see how low your group can go and still fix both Problems).
One major point to reiterate, is that it is impossible to solve either Problem 1 or Problem 2 if you are running the typical 5e mega-adventures. They just didn't make it possible to support this sort of play style.