The author is quite right that there should be a carrying cost to copyrights and patents. But take it one step farther: Make the annual registration fee a percentage of an owner-declared total value; then give the public the option to buy out the owner by paying that total value.
For example, I declare my novel to be worth $100,000. My registration fee that year will be $2000 (I'm just using 2% as an example). But at any time during that year, anyone can come along and pay me $100,000 to liberate the work into the public domain, as a mandatory transaction. I've declared the price, so it's a fair price by definition. Each year at re-registration time, I can change that total value, moving it either up or down, to reflect changes in the market value of my work. But having done so, I'm obligated to allow liberation for the declared price at any given time.
Note that this transaction is not a sale of the copyright or patent, it's a liberation. Sales can still take place, as before, and a private sale could be for more or less than the declared public value (because the buyer might want to preserve the monopoly, rather than liberate the work). All the market dynamics that copyrights and patents formerly had, they would still have.
This proposal is described in more detail in
http://www.questioncopyright.org/balanced_buyout/