If you have a spare unused output pin, I would just wire it in series with a .1mfd capacitor to the reset pin. That is how the Arduino auto-reset works from the IDE. Set the output pin high when you wish to reset.
But note that hardware-based reset approaches like this seem to be discouraged by Atmel.
That's interesting, I wonder why? The auto-reset that the Arduino uses seems to be pretty reliable way to force a restart into the boot-loader.
void(* resetFunc) (void) = 0; //declare reset function @ address 0...resetFunc(); //call reset...
This works perfectly