My maintenance plans are somewhat customized, hardly fully automated.
I like to check that the sites are functional before I do any updates, and just to make sure nobody else broke anything since the last time I touched it.
After I review the site I’ll do the maintenance.
My stack is similar though. Starts with daily offsite backups to go along with whatever their host does. Monthly updates although I set more trivial plugins to auto-update.
Uptime monitoring with UptimeRobot, it goes in the report. Sucuri malware and use of their firewall on a handful of sites that want it. Some extra hardening and security measures like limiting login attempts. Image optimization.
Everything else is more or less optional.
Help them with setup/configure of Google Analytics or other, Facebook Pixels, other custom code. Google Console. Caching and performance tools. File monitor I use to check for suspicious file changes. Broken Link scanner and audits on occasion, I don’t run these things constantly, or even monthly.
Each plan level I have comes with different amount of built-in retainer time for extra tasks, troubleshooting and fixing issues, or whatever else they need.
Since each site is different, some need extra testing for WooCommerce shops. Some what higher priority for tickets and monitoring downtime reports and other alerts.
As far as MainWP is concerned, I still have to do a lot of manual work. MainWP really is only there to assemble the basic report shell, and then I add more information about anything manually done, found, suggestions, other requested work, audit notes, ongoing issues they need to comment on, etc.
The only stuff I actually do “in bulk” is running updates when I have time to check all the sites afterward manually. Or if I need to mass update/install/remove/deactivate/activate a plugin, and export the reports. Otherwise, I don’t do anything in mass because I like to manually verify when work is done to make sure nothing went sideways.
I could never just click a mass-update button and hope it worked without checking all the sites. It sucks because if I’m checking all the sites manually anyway, it’s only a couple more clicks to just do the updates while I’m in there, no need for MainWP for mass updates.
Anyway, it’s a work in progress.