The most important things are not in eeprom, namely board, pins, display, language. So still millions of combinations. But hex files are nice for printer vendors who only need to put the hex on their website.
I guess I would keep it simple and require a hex file and user has to see where to get it. Compiling can get complicated easily for untypical things like no arduino firmware, teensy or sanguino, ...
But if I'm in a good mood I might describe how to find the hex file after compilation :-)