I am the author of
https://github.com/LibAtem/LibAtem Yes, that library has a reasonable chunk of the macro operations reverse engineered, to allow for better editing and creating of macros. I did prototype a ui for this a couple of years ago, but its not complete enough to use properly (I hope to merge it into another project sometime and finish it up)
AFAIK there is no built in method that takes a given configuration and uploads it to the ATEM directly
Yes, at the protocol level there is no support for this kind of batch configuration.
When restoring an xml file from Software Control it is sending everything as individual commands
Saying that, I rarely use macros myself now. There are other tools which are easier to use
https://bitfocus.io/companion but dont help if you need frame accuracy.
When I needed a frame accurate sequence (manually tweening ssrc and dve) that was written as a hacky xml generator because it was easier to do for a one off.