There’s also the option to go with a mix:
- System image (disk image or rather partition images of
/,/bootand/boot/efi) after every system upgrade (so no more often than every 6 months), using a live ISO and GNOME Disks for example. - Regular data backup with an incremental backup system (e.g. Deja-Dup or Pika) of
~and/etc/ - Back up the list of user-installed packages.
When restore needed, the disk/partition images would be the base of a recovery (UUIDs will be preserved)[1]. Afterwards restoring the data, bringing system up to date and reinstalling additional packages.
For my particular setup, I rather reinstall the system from scratch, and only restore my home folder. There are less and less tweaks needed outside of the home folder nowadays[2].