A couple of things in no particular order:
Threats that don't involve shooting: Some of the best threats are actually "Landscape" threats. As an example, in my campaign I have a number of threats based on the environment itself. One of the Fronts is actually "The Road," because their hardhold sits at the end of 20 miles of bad, crumbling, twisty, bandit-infested mountain road. You can't solve the fact that the only "serviceable" bridge over the river is rusting away a little more every day. Or maybe you can (by raiding to abduct slave labor to fix it), but that in and of itself could be interesting. Look at the Threats not necessarily as people but as things. An idea could be a potent threat. A scavenger brings back on old dusty tome and now suddenly the people in the hardhold who have been kept down for years start to get this "liberty" idea in their heads, for instance.
NPCs: Agreed on doubling-down on asking the players. I love to introduce just a name or a single detail and ask the players questions. They almost always give me better stuff than I could come up with anyway. ;) But for every NPC, just ask yourself what it is that they want and what they're doing to try to get it. That will go a long way toward giving you ideas for how to flesh out the NPC more fully.
Also, I find that giving each NPC a defining feature helps. Could be a physical feature (nervous tic in the left eye, tattoo on the forehead, etc), could some aspect of their past with the PCs (this guy dated your sister, that woman helped you out once a long time ago), could be a pattern of speech (this dude is a complete badass but it's hard to take him seriously because of his bad lateral lisp - probably why he's such a badass, come to think of it), could be an article of clothing (guy always wears spit-polished wing-tip shoes, woman wears a necklace made from an old Hello Kitty keychain, etc). Give everyone something to show their human side - flawed, frail, weird, indomitable, funny, or whatever. Do that and you'll have great NPCs to whom your players can really relate in no time.