I'll say it, to save half a dozen other members saying it...try not to think about buying a fish to use as a tool to solve a problem.
An 'explosion of baby snails' suggests an abundance of food in the tank for them to eat, meaning that there's a lot of organic waste, possibly due to overfeeding?
Whilst some would swear on all sorts that their Betta is quite happy in their community tank, the actual choice of tank mates for Bettas can be limited.
You need fish that won't nip the Bettas fins and, to be honest, you need a nicely planted tank.
For the lower levels, corydoras are a good choice, but understand that some corys need to be in a larger group and be aware that some species can grow. They won't normally eat snails, but they will go for eggs and tiny babies.
A bristlenose would also eat stuff on the bottom, as well as algae elsewhere, including any snail eggs.
Ottos should be in a group, so you could seriously think about getting some companions for your single one. Just be sure to keep 'em fed once they've eaten all the algae.
Khuli loaches will disappear in your tank and will also eat teeny snails and eggs. Again, these need to be in groups.
How big's the tank?