Technically correct law does is not the same as justice
I'm all for free speech, and I think you're missing the point in saying this is purely a free speech issue. Allowing a mega-corporation to donate mega-bucks to a politician who supports positions that favour their business is free speech. However free speech is not the only pillar of democracy. Another one is openness and freedom of information, which decidedly does not exist.
I suspect that peeking in behind the closed doors behind which deals and laws are made would reveal that corporations don't support politicians who support positions favourable to their interests, but rather support politicians whose positions (and votes) can be influenced by huge campaign contributions. And THAT is bribery.
There's way too little known about what happens behind those closed doors, and the reality is that it doesn't matter what public opinion is about any issue in the US, what really matters is the lobbying. Any number of issues on which the American public has a strong majority support is blocked by minority interest lobbying (more taxes on the rich, comprehensive tax reform, medical insurance reform, liberalisation of drug law etc etc ). And every time a congressman or senator or government official who has contributed to some cause end their government stint, they end up with a cushy post on the board of said mega-corporation.
The system needs more accountability, not less