I never, ever, do any automatic updates. I use BTRFS as my file system of choice and I take hourly snapshots of all my subvolumes. Whenever I do any updates, I look at the info about what's being upgraded and I apply it manually, never automatically. In case something goes wrong with the upgrade, I revert to the previous hourly snapshot, going back to a known working state.
I do the same with all my data subvolumes, so in case I make any mistake, like deleting a file or directory, or changing their contents, I can go back to one of the snapshots previous to the bad change or, more often than not, I simply browse to it and pick the good file/directory and sync it into the current subvolume.