There's nothing wrong with lobbying. Corporations, unions, non-profits and the like are just groups of people. Those people organize their political interests through lobbyists. It's simply a means of organizing the people's voices.
With that said, we should absolutely bind Congress' ability to pass special legislation that favors certain groups via tax loopholes, regulation and contract award policy. If there are no tax loopholes, no regulations and every contract must be won through a fair bidding process, there there are no favors for Congress to give. THAT solves the problem.