Long story short- it's all about the RAM.
My suggestion:
- sudo pmset -a hibernatemode 25 - this will save current state to SSD instead of RAM
- sudo pmset -a standbydelaylow 3600 - time (in seconds) after which the machine will drop all current work to SSD and hibernate.
- sudo pmset -a standbydelayhigh 7200 - as above.
why low and high? low is used when battery is below 50% and high above 50%.
we can change the treshold of those two states with:
- sudo pmset -a highstandbythreshold 25 - so the low delay will kick in under 25% of battery (default is 50%)
You'll ask what are the cons.. the only one I've noticed on my Intel MBP is a bit longer time to wake up, but on Apple Silicon it should be barely noticeable IMO. Some might say that it'll wear the SSD faster - nope, it will not.
I've tested this solution on a Sequoia MBP late 2013 and Sonoma MBA 2018 - on MBP it takes a bit longer to wake, but on MBA it's barely noticeable.
Hope I've helped a little bit
p.s. - 3600 - 1hour
7200 - 2 hours