For backups I had similar, also things like CHECKDB, read the thread I posted, may have some answers for maintenance and backup: https://www.sqlservercentral.com/Forums/1921328/Extremely-Large-Backup-Solutions
Basically striped backups across multiple disks are faster, I got the time down to less than half, and any VM performance settings you can change, restoring from striped is slightly more tricky but I worked out a routine which queries msdb to get the last backup paths to a restore script. I used the Ola Hallegren script for backups and you just add multiple paths in, see here where I got it wrong: https://www.sqlservercentral.com/Forums/1922540/Ola-Hallengren-Striped-Backup-Job
Did you come up with any solutions for the actual database itself?
Forgot to mention above that my DBs are also document stores, so compression on the backups I was only getting down to about 70% of the original data.