Yo, setup hibernation and use hybrid sleep as your default sleep.
ln -s /etc/systemd/system/suspend.target ../../../usr/lib/systemd/system/suspend-then-hibernate.target
Now any sleep is hybrid. The machine suspends, then wakes up after a timeout, and enters hibernation. The timeout is configurable in systemd-sleep.conf(5)
.
With this combo I find that I prefer S0 to S3. S0 drains the battery about twice as fast, sure, but it resumes instantaneously, while S3 takes about 30 seconds (!) to resume on this machine. And the thing hibernates and powers off if I leave it for an hour anyway.