Very few people are afraid of speaking.
It's the public part that's the problem.
What makes it public? After all, speaking to a waiter or someone you bump into on the street is hardly private.
I think we define public speaking as any group large enough or important enough or fraught enough that we're afraid of it.
And that makes the solution straightforward (but not easy). Instead of plunging into these situations under duress, once a year or once a decade, gently stretch your way there.
Start with dogs. I'm not kidding. If you don't have one, go to the local animal shelter and take one for a walk. Give your speech to the dog. And then, if you can, to a few dogs.
Work your way up to a friend, maybe two friends. And then, once you feel pretty dumb practicing with people you know (this is easy!), hire someone on Craigslist to come to your office and listen to you give your speech.
Drip, drip, drip. At every step along the way, there's clearly nothing to fear, because you didn't plunge. It's just one step up from speaking to a schnauzer. And then another step.
Every single important thing we do is something we didn't use to be good at, and in fact, might be something we used to fear.
This is not easy. It's difficult. But that's okay, because it's possible.