It appears that it is relatively easy to have multiple (even all) AD servers equipped with a copy of the Global Catalog. However, is it possible to do the same for FSMO roles?
If not, is it possible to create a failover protocol that will automatically transfer the FSMO roles to another AD server?
No to both questions. While it is possible to "split" the FSMO roles between Domain Controllers, it isn't possible for two (or more) Domain Controllers to hold the same FSMO role (or roles) simultaneously. If the FSMO role holder goes down there's no automatic process for transferring the FSMO roles to another Domain Controller.
In the event that the Domain Controller holding the FSMO roles goes down, the domain will function normally for a short period of time, certainly long enough to seize the FSMO roles to another Domain Controller and hopefully long enough to resolve the issue with the DC originally holding the FSMO roles. Note that your first step should be to resolve the issue with the Domain Controller originally holding the FSMO roles and if unsuccessful then to seize the FSMO roles. Once that has been undertaken the original Domain Controller should be left disconnected from the network and the domain permanently and should be manually purged from AD. Have a read here, especially the Loss Implications table:
https://www.petri.com/seizing_fsmo_roles