This is what subclasses are for. Each subclass can be a different lane.
And agreed that Jon Snow isn't a ranger. But the rest of the people you've listed? The alternative in almost all cases is fighter. And frankly if you think that ranger is overloaded throwing them into the same class as e.g. Brienne of Tarth and Jamie Lannister only makes the problem you outline far far worse.
Legolas is a fighter. He has some nature-y stuff on account of being an elf in a world where "elf" does a ton of work.
Same thing for Katniss Everdeen. She's a bow user who's good in the woods. She has high Dex, and stealth and survival proficiencies. But she doesn't do anything mystical, so she isn't a ranger.
4e, sure, they'd be rangers, because rangers were explicitly martials who focused on ranged attacks. But in 5e,
if we take the definition that WotC has given us, rangers are inherently mystical. A character who's good in the woods by reason of skill and training alone is not a ranger.
The ranger class, in-game, isn't satisfying anyone because it's stretched too far, and thus it becomes too hard to pack a lot of flavor in. That means the tropes presented in the class have to be strengthened, both by having a stronger set of class exemplars AND by excluding the border cases from the class definition. No STRangers, no non-magical snare makers, no "just a stealthy archer".
And yes, "fighter" is also far too broadly defined. Way too far, like it could be split into 3-4 classes with subclasses no problem. We need better defined classes with tight mechanical niches and obvious tropes, not even more loosely defined classes with no coherence.