In many of those cases it makes way more sense economically, especially considering time-value of private parties involved, to just stop trying to charge entirely and have the revenue come from elsewhere.
I feel it is blatantly obvious in modern society patents (and copyrights, IP in general) operate this way. That the bureaucracy required to put them on a "reasonable" timetable of government granted monopoly whereby society can broadly benefit from the innovation isn't worth the legal, public, and private overhead in maintaining a system that is obviously defunct and outdated.
Thats part of what lead me to IP abolitionism, anyway. In practice very few "small" creators file patents, those that do rarely have the means to enforce them (or copyrights), and those that have the means don't have the time because they are too busy creating.
Yes, once something you made is out there without IP anyone else can take it, build on it, or just simply repackage it and reuse it. So get your money out of it before its out there, kind of like how anything else you sell works.
Even if one is entirely in favor of the patent system as it is, the expiry time should be shortened in order to match the original idea.
How many (software) industrial year correspond to 20 years in the nineteenth century? Say, 5? This would drastically improve the patent problem considerably, without having to change the substance of patents legislation.
Another option for you: increase renewal fees proportional to revenue (or simply exponentially). The patent deal is a balance between private and public interests, weigh towards public interests with a bigger share of the proceeds.
Patents are filed for and valid from 20 years from filing, on grant, with no renewal.
Copyright is automatic and extends for author's life + 70 years, or for anonymous or works-for-hire, the shorter of 120 years from creation or 90 years from publication.
Copyright prior to 1976 was for a term of 28 years, extensible once, both requiring registration.