Why not include USB stuff as libraries instead of as a part of the core? The IDE already searches for #include to see if you want to compile in a library, so just strip those classes from the core and add them as libraries into the libraries folder.
I think the auto-reset thing is a bad design, I'd rather use a button on HWB, I do on all my own designs, I own a Teensy++ and I've actually soldered a tiny tactile switch between HWB and GND. The HWB pin doesn't do anything else so it's not even considered a waste.