FIXED:
So the BIG problem is that the macro was not returning any Context about the email subscriber... the {%Email%} value was not being parsed, the literal value of '{%Email%} was getting passed into the Custom Macro function.
I ended up doing minor modifications to the macro by calling it like:
{%GetAndCreateUserAbcResubscriptionLink%}
And in that function pulling in the subscriber's email from the Resolver of the Macro Context object like this:
if (null != e.Resolver.SourceTables)
subscriberEmail = e.Resolver.SourceTables[0]["email"].ToString();
Note that this works for both Email Subscribers and Email Users who are Subscribers.