Reducing existing bugs is far different than preventing new ones. So depending on what your initiative is would determine the way to go.
For defect prevention, get in front of the requirements. I plant myself and my team square between the requirements gathering and the development design and spend a good percentage of time analyzing and forcing requirement rework where necessary. Ambiguity kills. Development doesn't get a requirement unless I sign-off on it.
For elimination of existing bugs...prioritize and eliminate. I use a multi-dimension Priority Assessment Value ranking system (severity*"weight%") + (occurrence*"weight%") + (risk*"weight%") = PAV. We determine the weight% value based on the project. In some cases it may be 60/30/10 other cases it may be 25/15/60 and so on.Burn down bugs starting at the lowest value and work from there.