I'm still having the issue. It's driving me insane. I'd started off on a new character (Thief build), and the Dawnguard NPC had approached me before I'd even climbed High Hrothgar with the result that most of the NPCs in Whiterun and Riverwood were dead before I'd even killed my third dragon. It would have been fine perhaps if it'd just been merchants, but it had been two skill trainers that had died too (in Riverwood, I lost the archery trainer, and then later the one-handed trainer in Whiterun). I ended up just giving up. It's just ridiculous.
Sometimes travelling from one end of the map to the other without fast travel can be such a pain, long-winded, and you can go for miles without either running into anything to kill or finding anything of value. To top it off you get punished for fast travel nearly every time if you don't have the time it takes to get to one town to the other calculated in your head BEFORE you leave.
I even tried fast travelling to the nearby locations from towns (like farms, stables, meaderies, etc), but the NPCs there started dying too at the hands of thralls and hounds and I was losing some quests and such. It got very irritating.
The allowance for NPCs dying would be absolutely fine if it weren't for the loss of skill trainers and quest givers, etc. Any merchants who die should at least be replaced by a respawn of a random character build (like various enemies such as bandits etc) who can either be classed as "shopkeeper" or "merchant" with a set amount of standard dialogue responses like most of the other wandering merchants, etc. At least that way you don't end up arriving in a "ghost town" with no one to sell to or buy from