Is it possible to define macros globally, probably in the ~/.emacs init
file with some elisp, instead of on a per-file basis using the #+MACRO
keyword?
You can choose to put all macros in a single org file, and then add that one file as a #+SETUPFILE in all the org files where you wish to use those macros.