I know you can recover the bootloader space by using an ISP, but I can you get back the space on the AT32U4 chip used by the USB code with the 1.6.8 + IDE.
The workaround I produced back in April 2015 (See topic 313051.0) was fine for IDE 1.0.6 plus a few tweeks to the fuse bits, which also preserved the EEPROM when uploading, but it does not work any more and there is a lot more code for using the USB.
Has anybody else had a go at this problem in the last year or so?