a couple questions: what chain tool are you using? and when you re-join the chain, are you trying to do it under tension, or is the chain slack while you are pushing the pin back through? a tip here would be to have the chain be slack while you push the pin back. a good way to do this is to either take the chain off the chainrings, or make a little tool out of a spoke to hold the chain. if the chain has tension in it while you're pushing the pin through, it can move the links out of alignment.
also, some chain tools aren't made as precisely as others. i use park CT-3s at work, and i have a topeak droid chain tool for on the road repairs, and a shimano HG chain tool for home use, all three are excellent, with my favorite being the CT-3.
if you're using a quality tool, and the chain doesn't have tension in it, and you still have problems, then all i can say is practice makes perfect.