if you're playing a plain brute character like Gladiator, you can do the following: -your above mentioned technique;
-corner them. that means you stand behind the door, then walk one square aside, then the monster loses sight of you and starts walking to the last position where it saw you (which is behind the door), technically it will pursue you and walk out of the door soon, and to surprise that little bugger you start swinging your.. (whatever you're swinging) diagonally, pointing to the door, then by the time that monster is flying out of the door you'll hit it. If you're lucky, you'll stunlock it and kill it without giving it a chance to recover from hits. Clear?
-play in cooperation with ranged attacking players (Scout/Mage), that makes those things easier
-use bows
-use the runes, they have devastating power and can often kill one boss pack if it's not immune to that kind of damage - that's my favorite way btw, and it's also kind of spectacular;
if you're playing a semi-melee character like Monk or Assassin then you can add even more ways of killing:
-StoneCurse them and kill afterwards (an old Diablo technique);
-Cut their retreating territory by setting fire/lite walls right (be aware that Lightning never affects flying creatures because it runs on the ground (an exception is beholders because they are connected to the ground energetically))
-cast Golem
-kill them by magic/fire/lightning/holy bolt...
As you can see there are numerous ways. Just find your favourite.
upd: I think looking through Jarulf's Guide, section 5.5 would also help you because all the ranged attackers you complain to have difficulties with use the same generic AI - Goat Archer of high Intelligence Factor. Read it and you'll be armed with the best weapon: knowledge.