The obviousness test has failed us time and time and time again. To me, that's a simple reason for simply banning all software patents, as other countries have done without major mishap.
A common misconception. "Software-only" patents are banned in Europe and many other countries, but they're also banned here in the US, under Bilski. What gets issued here are "software" patents that also claim portions of the machine executing the software - and the same exact claims get allowed in Europe. For example, this one was granted in Europe in September. Claim 5 sure looks like what you would call a "software patent that has been banned in other countries", right?
An issue with software engineers and programmers is that, at least in my experience, they tend to be rather smart people (if sometimes narrowly focused), and thus have a rather skewed view on what they consider to be "obvious". If we rely on non-experts to agree with us on obviousness, we're always going to be disappointed. And creating some clever process to determine obviousness is going to succeed no better than creating some magical process to solve any challenging and creative problem in the real world. No offense regarding your solution, but I'd guess you're probably looking at this problem through the lens of a programmer or mathematician - solving challenging problems with algorithms and processes is what we do. But it tends not to work as well in the real world, which is much messier and more complex than a computer simulation.
But the people at the patent office are also experts - programmers with a background in the specific technology. The patent office is divided into art groups for all the different areas of industry, with Examiners hired specifically for those areas - so biologists and chemists examine pharma stuff, mechanical engineers examine tools and engines, electrical engineers examine circuits, and programmers examine software.
Two things here, though - first, the patent office didn't accept programmers until about the mid to late 90s, so you had EE guys examining software that they couldn't really wrap their heads around. That's why we see a bunch of bad patents from that time, and since patents tend to get filed, granted 5 years later, and sued on 5 years after that, that's why they're in the news. The ones getting issued now are better.
Second, there still needs to be that objective test, because even if you have the greatest programmer in the world examining the patent, they're still human and prone to looking at something in hindsight. And in hindsight, many inventions look obvious, but that's because the patent application just explained to you exactly how it's done. I bet you could draw a model of an internal combustion engine or steam engine on a napkin right now... but does that mean it was obvious in the 1700s? Or does it mean that you've had years of knowledge and looking at those diagrams and now it's ingrained? So, the test is set up specifically to avoid that problem - you can only show obviousness by using references that existed at the time of filing.
I'm afraid we simply just have to toss out the entire category. Patenting software just needs to be abolished. Copyright is plenty to legally protect the interests of development companies and/or individuals. Anything more than that just leads to overly anti-competitive behavior through sleazy legal maneuvers in the long run.
Copyright is next to useless for smaller programmers, because it's protecting the wrong thing. Basically, copyright protects the exact work, so it's really handy when people want that exact work: you want to see Hollywood's "Thor", not Bollywood's "Hammer-God". You want the latest Britney Spears album (maybe for use as a coaster?), not the elevator music version. And that can even work for big developers - you want Microsoft Windows 8 (maybe for use as a coaster?), not "Mike Rowe's Soft Operating System version 8".
But say you want to play a tower defense game - who cares if it's Desktop TD 4, Bloons, GemCraft, etc.? Or, for a more concrete example, you want to play a tower building game - who cares if it's NimbleBit's Tiny Tower, or Zynga's Dream Heights? Copyright was inadequate to protect NimbleBit. Or look at Rovio's Angry Birds, compared to Crush the Castle. Or any number of cases where someone comes along with the same game, but slightly different artwork, and they're no longer infringing any copyrights.
Patents can help in those cases, because with a patent, you can actually protect the core gameplay. Copyright only covers the specific creative elements, and if those aren't that important to your product - you're a game and anyone can remake the same game with different creative elements, not a Hollywood movie with specific stars and characters - then copyright won't protect you. Or, to look at it another way, copyright protects you against pirates; patents protect you against industry competitors.