I've played a mage, and shapeshifting does indeed suck. Firstly, you lose all of your spells once you change form, which stops you being a mage. Secondly, if you wanted to play as a class that uses melee the whole time, why not just play as a fighter? Last but not least, Morrigan is already a shapeshifter, so if you really feel the urge to play as one, just control her for a while.
In my opinion, Spirit Healer is by far the best specialization. The group heal and the in-combat revival are both invaluable during those long fights. Blood Mage comes a close second, as blood control is one of the best offensive moves in the game. It either places the creature under your control, or hits it for some massive damage. The Blood Sacrifice move can be really useful in tricky situations, especially if you have someone with the Ranger specialization in your party, so you can just sacrifice their pet to get yourself back to full health.
So really it depends on what role you want to play. For dishing out butt-loads of damage, choose Blood Mage. If you prefer a support type role, go with Spirit Healer
(I haven't played as an Arcane Warrior, so I can't say anything about it)