How to make a PCB based on ATtiny easily updatable by end users?
Take a look a the micronucleus bootloader...

https://github.com/micronucleus/micronucleus

It allows an ATTINY to accept a code download over a (slightly hackey) USB connection. It is widely used and well supported.

Here is an example of the hardware that uses only a handful of passives to add a minimal USB connection to an ATTINY...



From the excellent Digispark, one of the thousands of boards that use this technique. 

Note that this does require some software on the host PC to download the code, but you can use either the Arduino IDE or the AVRDUDE utility - both of which are widely supported on all major platforms.