Rape is basically a criminal justice problem at this stage. Like murder, theft and arson, rape is just part of the human condition. You can't eliminate it, any more than you can eliminate sadness.
What you can do is minimise it. What sorts of things would minimise rape? Would self-defence do it? No, not really. You get relative gains, not absolute gains. How about better education for potential rapists? Nup, probably not. "End the culture of rape". Tell me how we did "ending the culture of drugs"? This won't work. Less poverty? Yep, that has a big effect. More police? That would do it, I think. So long - and I think this is the key part of any anti-rape campaign - as the police actually take sexual assault seriously. You need to have high reporting rates, quite high prosecution rates, you need to not treat women like shit through the court system, you instantly fire any officer who doesn't get with the program...
This is something we learned from crime-fighting in New York: if you take one particular crime seriously, rates go down.
Look, women shouldn't have to live in a world where they have to be afraid of perhaps being raped. Unfortunately, they live in that world. People also shouldn't have to live in a world where their house might be burgled - and we live in that one too. The difference is that, if your house is burgled, you know the police won't blame you for it and walk away. That's the real crime - women can't trust the cops to protect them. They have nobody but themselves to rely on. That's bullshit! Let's fix that!