Im currently a 40nin/15war and have been a capable puller since my mnk was lvl 25. Of course I've become a much better puller now that I'm ninja and everytime I get a party, I pull. I keep a constant eye on MP and HP bars when I'm pulling. I know the exact distance it takes for certain mobs to link and the cons we can take (athigher lvls tho, you take nothing but IT). If I'm pulling non-aggro mobs (crawlers in teh nest), then Ill run out there and scout around, ill kep an eye on the mages MP, and after a few fights I know what number MP to pull at (usually around 75-80%) and by the time it takes me to get back to the pt, the mages mp is up. BLM however, I pull usually whenever their MP is above 50% b/c when I get the mob back to the pt, teir mp will be at 60% usually and most of the time thye continue to rest a bit (which I count on) so that the tanks can build up sufficient hate before teh BLM starts tearing tings up.
Problem with pulling is that people will blame you for slightly slower xp than they would want. Its not my fault that the mages dont have sufficient MP every time I run out. I wait so we dont die. My strategy, as someone else mentioned already, is run out, pick a target, then I'll anouce the target with an enemy sighted macro (Enemy Sighted: <t> at <pos> <call3>), then i use my ranged attack macro to pull it at a safe distancee so the whm doesn't ahve to heal me when I get back and annouces that Im pulling it to teh PT (Pulling the <t>! Incoming!). I could never stand bad pullers, so I decided to pull myself, havn't had a single complaint yet.