On the contrary, I think that in our current situation, shortening copyright term would only make things worse for the GPL. Think of it this way, the GPL was designed to keep software from going proprietary, and once the work has been out for 5 years or whatever, it'd be in the public domain. That means a company like Microsoft can just paste GPLed code in. Yes, the code may not be the most up-to-date version, but the initial release is probably all the company needs--patching up the program themselves to suit their needs is not that big of a deal. Plus, after that, you get patches going into the public domain on a daily basis. Also, what if they infringe upon the GPL and use works before it goes into public domain? It's difficult to tell if the company wrote the feature or if they used a patch illegally, and there's a good chance that the work will have gone to public domain before legal threat is over as long as it's not a really new feature.
On the other hand, proprietary vendors do not release sourcecode so we'll never see sourcecode, ever. Even if it goes in the public domain. In addition, they still have other terms we have to agree to like EULAs and terms of use. At the end of the day, I think a proprietary vendor being forced to give up their object code in the public domain does not actually hurt them but does hurt the GPL.