Glad this game wasn't designed for uber-only players. The dragons aren't incredibally tough but they're no walk in the park.
First of all, I always melee. Ranged weapons are for wusses and the slow. Unfortunately I don't have a 20th level barbarian with maximum hit points...
Evergreene, the only reason I defeated the Ice dragon was because Linu was wise enough to cast Harm on it for 150HP's... and then I went on a 2 round, 10 swing missing streak before finally bringing it down and I was near death (evasion saved me from the breath weapon in the last round too, I was so proud

)
So, my advice is to charge up a nice harm spell, sneak up (or trounce up) on to it, and WHACK! it with that red glow.