feature request hex upload

All the IDE would do is run avrdude. If you need to upload hex files you should learn to use avrdude directly. By turning on verbose upload logging (see Arduino->Preferences...) you can see the command line that the IDE uses to upload your sketch. That will provide a good template. For example:

avrdude -Cavrdude.conf -v -v -v -v -patmega328p -carduino -P/dev/tty.usbmodem1d11 -b115200 -D -Uflash:w:Blink.cpp.hex:i