Maybe it's a peculiarity of 5e, but these theoretical mathematical assessments of character classes seem to hold very little water in actual table play.
For instance, I often see Ranger described as weak in theory, but in actual play is a devastating damage dealer. The opposite seems to be true with warlock, described as devastating in theory, but not so much at the table (but still useful). Another good example is how Great Weapon Fighting synergizes with a doubled chance for critical hits for the "underwhelming" Champion fighter.
I really haven't seen any bad or underpowered classes at the table, which makes me think 5e's long, extensive playtest was a lot more useful at establishing the games balance than just crunching the numbers.
What 5e has done is very deliberately establish damage archetypes and utility archetypes. It's pretty obvious which is which when you read through them. The damage dealers all do approximately 2X damage, while the utility specs do X damage plus cool stuff.
I have few problems with "rangers" as a class... the problem for me is the "beast master" archetype. It's important to be specific about that. Talking about "classes" doesn't mean much when each "class" is actually two or three different things (or more).
Hunters are excellent damage dealers. Pets are great utility. The problem is, it doesn't make any sense that just because a ranger gains a pet (both of whom would be perfectly capable of their own actions if each were alone) he or the pet suddenly loses the ability to function in combat. That's nonsense, and the design should have taken that into account.
What the design tries to do is make Beast master the utility option and Hunter the damage option, but the inherent utility of the pet does not outweigh the severe dissociation of the ranger or pet losing capability by being partnered together. What they should have done was the opposite. Make BM the damage option, give it fewer or less powerful abilities to offset the pet's inherent utility, and make Hunter the utility option, focusing on skills and such.
As it stands, it's too much work to reinvent the Hunter, but it's really easy to just say the BM's pet gets its own action. And having the ranger class be the only one with two damage options is a small price to pay to gain a functional, non-broken pet option (and by that I mean each part does not lose its inherent functionality when joined together).