imo copyright should last 30 years from creation. Thats plenty of time to make a profit and it also allows things to fall in to public domain while they are still culturally relevant. Currently anything made within your lifetime will not be public until well after you have died which is a shame. It would be great if all of the past content which is now slipping in to irrelevancy could be revived by the public domain.
I think its fair that renewals would be allowed beyond that, but that the cost of doing so should increase on an exponential scale. That way the value of keeping a thing copyrighted would eventually be eclipsed by its value as a public property, fulfilling the social contract of limited protection in exchange for eventual public ownership.
Even if Mario entered into public domain, Nintendo Mario games would still be the superior choice. It isn't like people would be allowed to claim their game was an official Nintendo Mario game. Profitable IPs would also be able to grow their IP as a means of protection. For example, there would be a significant time lag between when Mario would enter the public domain and Yoshi would, and as such more recent Nintendo games couldn't be copied because they include Yoshi (replace Yoshi with dozens of even newer characters).
Edit: One way to think of it is that others could only use the cannon as it existed 30 years ago. As long as the IP isn't dropped and fans like where it is going, that provides a significant barrier of protection from others branching off and making their own cannon.