I'm not a IP expert so please excuse any naivety on my part, but it seems like there's a really obvious way to settle the issue of providing "sufficient compensation" for patent-holders as incentive to create (which I don't necessarily buy as a line of reasoning by the way) and making the tech available to the open market.
Why don't we let patent-holders decide a price at which they'll relinquish their patent, and the public/corps/whatever can simply contribute to that fund? Once the "fund raiser" is complete, the company gives up the patent and every competitor is free to jump into the market.