Hi,
I do not understand why links are excluded from macro expansion. I would see it as very valuable to have macros for links too.
The change would be as simple as inserting
(eq type 'link)
into org-macro-replace-all.
May I recommend this patch.
Thanks,
Michael