I think you misunderstand what was struck down in McCain-Feingold: an explicit ban on non-media corporate speech advocating the election or defeat of a candidate in the 1-2 months before a Federal election (1 for a primary, 2 for a general).