I would recommend when you enter any town wait before doing anything to see if it is safe. For Windhelm wait by the Candlehearth Hall to see if anything is following. Every time you come out a door, rush for that main entrance, if after a short while nothing happens it should hopefully be safe. Just remember to check.
This, unfortunately is not going to work. My first time entering Windhelm (level 15) I heard some screaming and ran off towards the market. I didn't find anything there, but later, as I walked up to the palace, I found a dead vamp between the Palace and Candle Hearth Hall. In other words, even if I had run in the right direction, there was an entire building between me and where the attack was taking place.
Now imagine Silda the Unseen had died in that attack, since that area is where she normally hangs out.
1) I would have lost a pickpocket trainer and been forced to join the Thieves Guild.
2) I would have lost Windhelm's only begger and so lost access to the Gift of Charity there.
3) The "Blood on the Ice" quest would probably be broken and unfinishable.
My solution is a compromise between those who want all their quest givers/service providers to die and those who don't:
Make all quest givers/service providers essential until the player himself marks them as non-essential. Marking them as non-essential can be done by the addition of a dialogue option such as "Are you worried those vampires might attack here next?" By choosing this option, it would change the npc from essential to non-essential. With this option, those who want the "realism" of the threat posed by vampires would still be able to have killable npcs by simply selecting this dialogue option with each of them. Those who do not want their service providers/quest givers killed would also be happy becaue the npc could no longer die.