Keep political donations. Limit them to coming from Canadian citizens (the only people with a vote). Limit them to $50 per person. If a federal political party cannot get $10M by getting a million voters to give them $10 ea then they have a problem that isn't going to be solved by other funding schemes.