It took me a long time to get it right. I had so many missed shots my arms looked like pin cushions for a while. The first thing I tried that worked was going into the bathroom and turning on the hot water (either shower or bath) to warm up the room. My veins are deep and also tend to roll. Also staying hydrated works wonders. But the most effective thing I've found is lifting some weights (just doing a few curls with something heavy) will pop my veins out nicely. Then I tie off - not very tight - with a strip of elastic (like you'd find in a waistband), make a fist (for some reason my veins tend not to roll when my arm is tight) and wham - I hit first time, every time. As soon as that tiny bit of red sneaks in the syringe I pull the tie off (I use the kind of knot that just needs one pull - I don't know what it's called, I'm no boyscout), and register perfectly. I don't need to heat the room anymore, and hitting is a breeze. It just took practice and patience.
On the other hand, I do like to take my time...I love the ritual, it's like foreplay.
And yes, I do realize this post makes me sound like such a dork. But hey, whatever works, right?
Caveat: drugs are bad, and needles are the worst. Be safe.