I've improved my battery life significantly. I wasn't running any battery inefficient websockets - everything was either FCM or nothing. I also had restricted most of my apps in the background, but it was still draining battery.
I found this video and did most of the things on there minus tips that would be too disruptive for me.
I also battery restricted the GrapheneOS launcher, which was routinely using a lot of battery for some reason. So far, no issues by doing that.
The last thing was location services. I don't know why, but GrapheneOS has been very battery inefficient when I have location turned on. I tried both the default rerouting that only uses GPS as well as Google location services with WiFi. The Google one was a bit better, but not by much. Google also requires Play Services to have location at all times, which then pinged my phone every 5-10 minutes, which I think played a role in the battery drain. Turning off location completely significantly helped. I'm hoping the new grapheneos wifi location services feature will offer a better alternative.
Also, if you have play services installed and are logged in, you may wish to turn off find my device in Settings -> Apps -> Sandboxed Google Play-> Google Settings -> Find My Device if you aren't using it as it also likely hurts battery.
Lastly, having more than 1 profile active at a time will also drain battery. Starting up profiles, including private space, also appears to use up some battery each time (1-2℅).