I am not an attorney but to seems t me that the issue here is simple, free speech is free speech.
That said, I am not convinced that one can argue the corporations are individuals. Corporations are also not unions. The latter are non profits organized for a political purpose .. that is to bargain en masse with employers or trades.
So, I suggest the real issues is TAXES. Corporations can not exist whose functions include determining who is or is not elected ... at least they should not be free to do so with untaxed money. Corporations should be free to spend or waste money any way they want, but that does not mean they can do so w/o taxes.
Unions are already non-profit so the issue seems to be simple. Make political expenditures by profit making entities taxable.
To be entirely consistent, however, I would also make "charitable" donations by corporations taxable. If Boeing's stockholders want to endow a chair at the UW, then Boeing should set up a charity and deduct those contributions .. along with political contributions .. from its dividends.