None of the above solutions made my system wake up reliably so here is my solution. It is using system services, you must create a service file i.e. mt7922-fix.service
under /etc/systemd/system/
with chmod of 644
Here are the contents, just make sure the path to the rfkill binary is correct:
[Unit]
Description=Disable Bluetooth before going to sleep
Before=sleep.target
StopWhenUnneeded=yes
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/sbin/rfkill block bluetooth
ExecStop=/usr/sbin/rfkill unblock bluetooth
[Install]
WantedBy=sleep.target
After that all you still need to do is call sudo systemctl enable mt7922-fix.service