This looks like a brilliant low hanging fruit to go after. In BtrFS, iirc, snapshots work a bit differently than they do under ZFS in that you can only snapshot a subvolume and not a folder, but, if you make every home a subvolume, it should work. All it'd need is some advanced planning and some extra work during system installation.
I'm pretty sure that's how it works in ZFS too? The `zfs snapshot` command takes a filesystem as an argument, which is analogous to a BTRFS subvolume AIUI. And while I personally think every home directory being a filesystem/subvolume makes sense, I don't think you need that actually, it just affects where you splice the path; for example (using ZFS because I know that), if you just stuck everything on the root filesystem you would just browse to /.zfs/snapshot/mysnap/home/myuser instead of /home/myuser/.zfs/snapshot/mysnap and for read-only stuff there would be no difference. I grant that it does affect rw stuff - you may or may not want to let arbitrary users create and destroy snapshots of the root FS or /home.