So, how do we bring these NPCs down to the PCs' level and let the PCs feel "important" or, at least, "competent"?
1. Give them flawed perspectives.
A flawed perspective about the world is similar to the PCs': they have certain ideas about how the world should work, but they're not entirely right. An NPC who always knows exactly how things will go down will irritate the PCs because he will always guess better than them and there's no way to argue with him.
In short, no NPC should completely agree with your viewpoint of the world, because that makes it too tempting to have the world work exactly as he thinks it would.
2. Give them a reason to need the PCs.
Every NPC you make should have some weakness they require the PCs to fill. This could be as simple as some extra muscle or as complex as requiring a group that knows how to stealth into a place properly.
In short, if an NPC (or an NPC group) is completely well-rounded and competent, they shouldn't appear in your game at all. Give them an area they're weak in that the PCs can fill.
3. Always give the PCs some way of contributing to the NPCs.
The PCs are the stars of your game, not the NPCs. If an NPC group can do everything it wants to accomplish without the PCs' aid, you've done something wrong. The PCs want to feel useful; give them every opportunity to feel that way.
4. Never, EVER make a Perfect NPC.
If the PCs wish they were your NPCs, but could never achieve that, something has gone horribly wrong. Examples include:
- NPCs who have never made a mistake, or never make mistakes now.
- NPCs who are always right about what will happen.
- An NPC group who can hold their own in battle as well as the PCs.
- NPCs who are always right, and thus the PCs arguing with them is pointless. The PCs should always be able to argue with them about something and improve their lives for the better.
- NPCs who have an innate ability that always makes them succeed certain checks, such as "always being able to tell when someone's lying", or "always knowing what someone's crimes are". Such abilities render the PCs' skill training useless. If the PCs constantly want to rely on someone else to make decisions for them, something has gone wrong.
- NPCs who are in perfect relationships with people the PCs could never dream of hooking up with.
- NPC parties who never have the arguments & debates and differences of opinion the PCs have.
- NPCs who never admit the PCs are right, unless the it's obvious the PCs are right and the NPC is just being arrogant. NPCs should always have some way they can be thankful to the PCs, whether it's providing a different viewpoint or stopping them from making a fatal mistake.
5. Give each NPC a fatal flaw.
This is the easiest way of bringing NPCs down to the PCs' level. Give them a fatal flaw the PCs can help them overcome, or which causes them to make obvious mistakes the PCs can correct. Odds are each PC has a fatal flaw as well, an area they are not well-equipped to handle or a vice that causes them trouble. Why should the NPCs be more well-rounded than the PCs?
6. Don't let the NPCs automatically succeed all the time.
A common mistake I see in many games is that the NPCs succeed all the time. If you ask them to do something, they'll do it properly. They always succeed in infiltrating the fort, finding the right intel, etc. They don't need to roll; the PCs do. I call this the "Bubble of Competence": only NPCs around the PCs need to roll to succeed at anything; everyone else just succeeds. This puts the NPCs at a level above the PCs, and makes the players feel that any mistakes that happen are "entirely their fault". The PCs should feel like the ones that accomplish what others can't, the ones who clean up the mistakes that others make. They shouldn't feel like the weak link in the world.
7. Make the NPCs weaker than the PCs whenever possible.
This is probably the hardest thing to do. You've put so much time & effort into an NPC, and now you want to make them weaker than the PCs who just spend an hour every month optimizing themselves & goof off most of the time?
Look, no one wants to play a weak PC in a fantasy game. No one wants to play someone who contributes little & whose job can be done better by someone else. Did the NPCs go through all the risky combats the PCs did? Did the NPCs roll for skill challenges like the PCs did? Did the NPCs risk failure & humiliation as often as the PCs did?
No. No. And no. Reward the players for taking risks and rolling the dice. Don't let them get overshadowed by NPCs who never had to roll a single dice to get where they are. Your PCs put the work into getting up to where they are, reward them for it. Let them be Awesome.