Let's just ban the software—it's too easy to go around bans and too arbitrary to try to ban software.
I believe the answer, ultimately, will be transparency. To not allow people to hide in the shadows when they're attempting to influence populaces in ways that may or may not be unsavoury. Making it very easy to figure out who's behind a particular ad or campaign is vitally important, and the traceability of the money that paid for that campaign or ad is extremely important.
Other than that, I don't know the specifics of Canadian law on elections very well, to be honest, so I don't know what other improvements could be made.