There are good mods addressing the 'stupid dog' comment, but I didn't like how they do it, so I made my own.
In my opinion, having good or bad comments depending on the NPC's relationship with the player, or even on the NPC's factions, isn't the right approach.
Why should someone be friendly with a dog just because he likes you, even if it's your dog?
He might like or dislike dogs, or he might like them and be in a bad mood, or he might be not especially fond of dogs but having a very good day and feeling exceedingly friendly.
So I prefer to think that you can randomly meet someone who likes dogs or is in a good mood (80%, because I do like dogs), and someone who doesn't or is in a bad mood (20%).
The same about the attitude of dogs toward people.
How can a dog know if someone is a hunter, or is employed by you, or if this someone likes you or not, what about postmen couriers and butchers?
Dogs will always be friendly with people they do know and like.
With unknown people they'll be randomly friendly 50% of the times (because I like friendly dogs), aggressive 25% of the times (because they happen to be in a bad mood), and will just shut up 25% of the times.
And why should a dog bark only when standing, or when lying down, or whatever?
I reduced the frequency of random barking, but they'll do it whenever they like.