The situation with software patents is getting really absurd. Take for example the recent Sun versus Kodak.
Sun has paid vast sum of money to resolve the dispute. Why would someone pay 92M USD when there is no merit in the matter? The answer is simple: because it is cheaper to settle than to prove the truth in courts. That is saying something about the whole legal system and the patent system in particular.
I have really crazy idea: what about granting only patents that are relevant? How could you possibly do that? Simply by requiring some sort of review process before the patent application is accepted to become a patent. It would be enough if the patent office asks some expert group to vote for or against the patent being granted. The vote would be public so the asked experts would not dare to ruin their profesional reputation by stating nonsense during the vote. They can be even paid by the applicant for doing the job - isn't patent application expensive already?
The question remains who would appoint the expert group: I don't have answer but beleive there would be a way - e.g. the patent office could appoint them.
But I am not that naive - I know this will never happen. There are too many people making good money by using the current system. Why would they want to change it?