A more savvy and experienced interviewer won’t ask this question. They’ll ask the much more relevant “What do you perceive as your key areas for development?”
If you are asked the “weaknesses” question, answering in an honest and disclosing manner concerning areas for development will generally yield a favourable result. I personally rank introspection, humility and a thirst for knowledge very highly, even if some of the areas for development are areas in which I wish the candidate were stronger today.
People who sit at the intersection of intellect, insight and honesty can pretty much overcome most developmental goals, and smart employers should be looking for well-rounded “best athletes” rather than bundles of skills (unless the role in question is incredibly narrow and task-focused).
If the company with whom you are interviewing doesn’t value such qualities, they are likely not the company for you.