Now I'm using 3.0. However your question gave me an idea. I decided instead of using a precompiled zip binary, I'd go in and make a custom compiling which didn't ask the question but assumed one disk archive state for all the corrupt docx/zip files I threw at it and it worked!
Thanks for everybody's help. Sorry we couldn't find a Perl solution.