Theres an IR emitter you can buy at radio shack type places that sticks right onto the IR window on the directv receiver.
Next you need to tape over the IR window entirely with tape to prevent any other IR signals from disrupting the channel change. This is called "making a fort". Google that along with 'tivo' and you'll see plenty of examples.
Next thing you need to deal with is the possibility of IR signals bouncing off a wall and through a vent slot, since some receivers expose the IR receiver internally.
Lastly, you can change the speed of the channel change on the tivo. Play with that until you get 100% reliable channel changes.
The problem you're having is either the IR signal not reliably getting to the IR receiver on the directv receiver, or another IR signal interrupting it.
I did have one directv SD receiver about 4-4.5 years ago that I could absolutely not make channel changes via IR reliably. It'd miss about one out of twenty.
One receiver I had a long time back (I think it was a sony B series) required that I use the stick-on emitter, tape it up, and box off the sides near the vent holes to prevent IR intrusion before it'd get reliable.
This is what the stick-on emitter looks like:
[ame="http://www.amazon.com/STICK-IR-EMITTER-SMARTHOME-8170S/dp/B0007N72WY"]Amazon.com: STICK-ON IR EMITTER BY SMARTHOME ( 8170S ): Electronics@@AMEPARAM@@http://ecx.images-amazon.com/images/I/31ys-E1tnWL.@@AMEPARAM@@31ys-E1tnWL[/ame]
You'll find more info here:
http://www.tivofaq.com/index.html?http://www.tivofaq.com/Bugs.html