Not to open any contest, eh, but just to point out something:
- JTAG is only for some special model, generally JTAG is not available on AVR.
- About high voltage "parallel" programming, for sure it's not supported on small 8 pin AVR cores.
My suggested simple method is 1) above, ISP, just provide a connector on board for it, simple SPI and at my humble opinion, the simplier and probably widely used way.
Then, you can code a small bootloader to be resident, in a special flash sector, eventually protected, that uses the interface you like for the update (UART, SPI, I2C etc).