Ok, raising monsters goes in three directions: Meat-shields, hitters and intelligent undead, who are usually hitters or utility monsters.
Meat-shields, which are ideally also transports or mounts: High Str zombies with a good number of HD. Remember the base creature can have a max of 10HD. You don't actually want their AC too high, or enemies won't feel satisfied hitting them. Remember you can drop monsters from your zombie pool but still have them under your command using "Command Undead", which has plenty of duration.
When using undead as mount or transports, remember: they NEVER get tired. They can double-move 24 hours a day (zombies) or even RUN 24 hours a day (anything else). If you have a flying mount that makes for a lot of fast-travel, even without teleport.
Hitters: These are skeletons of the strongest and largest monsters you can find. Giants, Outsiders, etc. As long as you're making skellies, look at Size, Str, dex and Ex special attacks over everything, because you lose even natural armour. You want your hitters to survive, so give them armour/barding and weapons. Large or large skellies with high Str and spiked chains make excellent trip-bots.
Intelligent Undead: This is a bit difficult with your allowed books. Most MM1 intelligent undead are sort of sub-standard. There are a few good ones, though.
If you meet a Devourer, and you have items to debuff Turn Resistance, try to command it.
Any incorporeals are awesome, even at Lvl 12, although you can also summon them. They make really good scouts, and their ability damage attacks can make short work of a lot of enemies. Wraiths even have "Create Spawn", which is every necromancer's wet dream.
At higher levels, and with good gear, you might try to find and rebuke a Nightwing. That makes a great flying mount, gives off a desecrating aura that even counts as having a shrine, and it has other abilities, too.
For a bit of cheese, get a Mohrg. Unfortunately they have 14HD and shitty CR, so you probably will never meet one by the time you can command it. Mohrgs make infinite supplies of zombies for you, since they have Create Spawn.
At high levels you obviously want to control the spawn yourself. Luckily, there's Shapechange. Get a Ring of Theurgy and have a wizard cast a Shapechange into it. Then change into a monster with Create Spawn and kill stuff. AFAIK there is no reason to assume you lose control over the spawn when Shapechange ends.
At high levels, cast Awaken Undead on those stupid undead with the most HD. Optimise use of this by cramming as many critters into the area as possible.
Also, it's pretty likely that your DM will actually also use critters from other books. One of the nice things about a necromancer is: Whatever your DM throws at you has a good chance of being thrown back at him - as an undead minion.