Possibly mentioned already...
"If I was Cliff" the
HUUUUGE no-brainer would be to have selectable firmware on startup (and default to last one used).
If an SSD is involved, let the user add as many as they like -- but at least 2 or 3.
The user can decide if they use certain preset banks for the old or newer firmware, or the process could be made configurable (e.g., tie a firmware to a bank) so the wrong presets don't get tweaked too easily by accident.
OTOH, if it needs to be written to a chip, I guess it cannot happen -- but still...; there is some benefit to have them ready in the device.
OTOH 2: You might include a chip that can hold two firmwares and go back to one if you run out of memory.
TIA!