The first thing to stop patent trolls would be to have patents expire within 3 years of last commercial utilization by the owner. In other words, if you sit on a patent without applying it for more than 3 years, it goes away. Maybe 3 years is a bit brief, but 5 years should be more than enough for a patent that a businesses is actually using.
The second thing would be to attach significant renewal fees, every 3 years or so. This would help avoid companies from making only token efforts to utilize them.
Finally, if you bring a patent infringement suit and lose, you should be responsible for all the court costs, including the legal costs of the defendant.
These changes could stop patent trolls virtually overnight. The other big problem with patents is the way they're used as an anti-competitive tool (as in between Apple & Samsung). I haven't yet figured out what to do about this, but it has a lot to do with novelty.