I suggest two solutions. Corporations are corporate citizens. As such, we should allow them to contribute to the development of democracy and to participate financially in that. There are two hypotheses that would allow them to do so.
For example, they could contribute a maximum amount, which could be a multiple of the amount allowed for individuals. These sums would be paid into a trust fund to the Chief Electoral Officer, who would do a pro rata distribution of them according to the votes obtained by each of the political parties.
The other formula would be to allow corporations to contribute to one of the political parties, up to a given maximum amount. Obviously, the inherent constraint in this formula is that all contributions would be made public, including the name of the business and the amount paid. In this way, everyone would know what to expect.
I can easily imagine the following situation, as it was described to me by a businessman. As the political parties try to get money from corporations, from big businesses, if federal or provincial legislation allowed it, these big businesses could refuse, saying that they had already given. In that way, they could avoid any pressure that might be brought to bear on them to give more or to give under the table.