A simple formula that could be used everywhere would be a campaign spending limit equivalent to one year's salary for the position running for. This would keep spending proportional to the jurisdiction the contest is fought in (Prince George should have a higher cap than Prince Rupert, for example), and make the race "affordable" the the candidate that uses his own money to run.