Alternate programmer for Leonardo - recommendations?

I did read the troubleshooting guide but there is not any Leonardo specific information.

I need to give up on the USB programming with Leonardo as it has become too unreliable. Sometimes I get a good run and can work for an hour with all the automatic features working ok - then occasionally I get stuck and nothing works. I think when my code gets hung up it also prevents me from easily getting new code into the device. The Uno and similar products did not behave this way.

typical problems are:

Serial port already in use
Serial port not selected
Device not recognized
Ubuntu Linux not recognizing the board at all
Windows repeatedly wanting to install drivers on machines on which the Leonardo has previously worked.

Rather than work on troubleshooting any longer, could I get some advice on programmers?

What would be a recommended programmer to replace what I used to do through the FTDI chip? Maybe I can use just an FTDI basic like DEV-09716 from sparkfun. Would the "USBtinyISP AVR Programmer Kit" from Adafruit be better?

thanks,

mark

What I ended up doing is using a Mega temporarily to create and debug my code. It has Serial1 so I was able to use some conditional compiling and still get similar function to the Leonardo.

Nearly all of the problems I had were caused by a bug that i had - it caused the setup() to constantly be running.

The bug was instantly seen when I moved to the Mega but on the Leonardo I couldn't get past the USB connection problems.

I think the other problem was addressed by the Arduino update 1.0.2