Allow companies to patent innovations but legally force them to license it to others for a "fair price". That way companies can still build on top of each other's innovations but inventors still get financial compensation for their invention.
I recognize there would be a problem in pricing the license but since these cases end up in court anyway (where a judge or jury determines the fair value) I don't see how allowing companies to resolve what "fair price" means would be any different than what we have now. Except it would take out the ambiguity for the consumer(since a company like Google would never have to pull the product from the market).