You can't do this with a certificate (a certificate is a digital signature, and signing with two different CA keys gives you two different signatures). I suspect it's possible to do this with two different certificates for the same server key, presenting the backup leaf certificate as one of the certificates in the "chain" - SSL clients tend to just take the entire list of certificates and find an order for them, because server operators / implementations don't reliably send them in the right order. I don't know what clients deal with this well.
Usually you'll have enough lead time to configure your servers to send the other certificate, though. All you need to do is buy it in advance and have it ready to deploy.
And yeah, with HSTS you can definitely pin multiple intermediate roots.
I figured as much, my knowledge of X509 certs ends at knowing "generate a CSR, get it signed, install it" and operating a couple Dogtag CA's as part of FreeIPA.
Having a secondary cert ready to be swapped out with an Ansible playbook (or whatever your tooling of choice is) and ensuring both intermediate roots are pinned seems to be the best way to handle this then. Good to know!
Usually you'll have enough lead time to configure your servers to send the other certificate, though. All you need to do is buy it in advance and have it ready to deploy.
And yeah, with HSTS you can definitely pin multiple intermediate roots.