It's possible that we need reform for other types of patents as well. I don't know enough about patent abuses in other fields to say. But in software at least, it seems like the system is clearly broken. Invalidating all software patents would be a drastic step, but it also might be the cleanest and most direct way out of the current morass. Of course, many companies would try to redefine their software patents as some other type of patent, perhaps by linking them to the hardware, as you suggested. There would need to be some legal jousting until precedents had been set to determine the outlines of how the law would be applied. That's what the courts are for. However, it seems quite likely that the resulting system would be less biased against innovation, more transparent, and less wasteful than the current system.