In fact, the Guide Ranger was unable to legally choose his class skills, having been already trained in most of them.
In addition, almost no classes or backgrounds can be trained in Perception - only the Bounty Hunter, Bard, and Ranger receive this vital skill. Personally, I'd throw a bone to the martial classes - reflexes in a fight should translate well to out-of-combat alertness.
The rule that, when you get the same skill from both background and class you can just pick another, is actually a quite generous rule, but it is probably inevitable since you can also ask your DM to make up your own background (the two rules kind of support each other). With skills be so few and large, not granting a second choice in case of overlapping might be too much of a punishment.
A weird side effect of this approach, is that some players might purposefully choose a class skill that overlaps with one from background, so that then they are entitled to pick
any one skill, instead of those listed by their class. But it's pointless to argue, exactly because they could just make up a reasonable background variation including the skills they want.
---
Feats, as you noticed, are a mess. Overlapping with stuff you already have is common, but unlike the previous case, there is no rule letting you a second choice, you just get less from such feat (supposedly you can ask the DM to create a feat tailored to your needs, but this is not explicitly allowed).
Beginner players are going to have a lot of problems with feats. To this someone may argue, that beginner players shouldn't even try to take feats, and go with ability score increases. Meh... Still, beginner players assume that
names of things are useful: if they want a stealthy PC, they will pick stuff that
sounds convenient for such characters, only to find out later that they picked something redundant.
Really, the problems with feats all stem from the decision of having mega-feats, and that in turns really only stems from the problem that a minority of gamers have with odd ability scores (thus complain that a +1 to an ability score sometimes have no immediate tangible benefits). Making feats optional was a
great idea, but it was the fact of wanting to balance feats against
+2 to ability scores that required to have mega-feats, from which come all the problems you've seen in practice. Had they kept feats smaller, and balance them against
+1, there would have been much less problems, and more opportunities: for example, alongside the choice of feat or ability score increase, proficiencies themselves could have been another option and therefore gaining new proficiencies would have been separate from feats.
Notice the absurdity: feats were made optional because many gamers don't want them in their games, but gaining new proficiencies (after 1st level) pretty much requires to take a feat (ofter requiring 4 levels of waiting, in one case 8 levels!), however that feat will give you additional stuff you don't want because it has to be large enough to compare to a +2 to ability score. Therefore that gamer who didn't want feats because of the added complexity, probably needs to take exactly unwanted complexity if she ever wants an additional proficiency at some point.