Thought i ask here, since there are a lot of people here who are smarter and more experienced than me.
One concept is to have a number of 'factions' that many monster types can belong to and store relations between those factions. Civilized, Creature, Unnatural, Divine, Demonic, Warlike, etc.
Civilized (Human, Dwarf, Elf, Gnome) could start off neutral to Creature, allied to Divine and hostile to the rest.
Creature (Bat, Deer, etc.) could start off neutral to Civilized and Divine and Fearful of the others.
and so on.
You can allow individual monsters to be pissed off (e.g. PC deliberately hits friendlies) and eventually cause relations to break down between factions.
Obviously implementation would take a bit of thought.