I recommend to put the formulae in the default template model. So, whenever you create a new delivery or new delivery template, the formulae will be present.
But, in case of someone creates a delivery or delivery template by duplicating an existent one, older one where the formulae is not present, he could forget to add the formulae.
So to prevent this case, you can also add a typology rule to add in all the typologies of your platform, that checks the presence of the formulae in the current delivery during Proof submission and delivery submission. It can be warning but it can also be adding automatically the formulae if everything is the same for all deliveries.
Or, if the formulae is different from one delivery to another one, instead of typology rule and default delivery template, I rather suggest to modify the defaut factory form of new delivery wizard in order to add a form to ask user for the formulae.
I used to use MD5 encoding as you do, in many Query or query-like activities, most of time by selecting extraction field email such as:
I find this very easy. So I don't understand why this method doesn't fit your need in Delivery personalisation.
One trick perhaps useful for your need, rather than doing by your own in html/JS code of the delivery body, why don't use the standard mechanism in Property/tracking & Images/ Advanced tab: <%@ include option='NmsTracking_ClickFormula' %>&emailMD5=<%= Md5Digest(recipient.email) %>
It will be appended automatically for all your URL.