Just a few things on why races are like they are:
Before the GUI could toggle babysnatcher, and before we had a playable evil race (orcs), players couldnt have the good races as enemy. Thats why the evil twins were added. I literally copied dwarves, elves, humans and drow (your allies), and added babysnatcher. Smakemupagus, who made the orcs, suddenly had the problem that they arrived in caravans, which is good for orcs, but bad because they have no own character.
He then added a few things here and there. Evil elves became ashlander elves with special glass (Morrowind style Dunmer), Evil drow became Deep drow (more like their DnD counterpart, because they are more evil), Evil humans became Bandits and thieves, with casinos and gambling, and Evil dwarves became Chaos Dwarves (Warhammer style), with dark gods and mutations.
The drow were the first evil ally introduced into the game, and I dont see a problem with them.
I agree that the dwarven legion should be remade into a generic good mixed race/group, and a evil counterpart be added, some generic evil mixed race/group.
Gnomes are pointless in this discussion, since they have no active seasons, and dont appear anywhere, except if you call them. They also never siege.
Quadruped animals are super strong, see the tuskoxen. Even cows and horses can kick goblins to death. An early invader race of fast, quadruped creatures that use bows... these guys wont be an easy target. No armor helps of course.
The main problem is active seasons, sieges and caravans. If you want something that can siege 4 times against Orcs/Warlocks, you will have something that trades 4 times a year with dwarves and gnomes. Its that simple.
Suggestion: I wouldnt add them with active seasons, but instead hide 1-2% "siege forge" boulders using probability syndromes in all reactions for Warlocks and Orcs. Mixing different races in. This way Orcs, which seemingly dont get enough sieges atm, have a chance to trigger them now and then, just from reactions.
Another thing, which I already suggested in the orc thread, is adding this to the Orc creature itself. 1% chance of triggering a randoms race siege for each orc. If you have 50 orcs, thats 0,5% of an extra siege per year. 100 orcs, 1 extra siege. If you have 200 orcs in your fort, 2 extra sieges. This naturally scales up and down with the amount of units you have, and doesnt muck up worldgen balance by adding/removing races.