Hi there,
It’s tough to answer this kind of question—weather is so unpredictable, and not just in Bali. If a foreigner had asked me the same thing about the southeast of France for April or May, I’d have said May without hesitation. But this year, April in the Drôme was sunny and warm almost the whole month… and now in May, we’ve had 10°C/15°C and rain for a week straight!
Personally, I’ve been to Bali twice in February and once in November, and I only had great weather. That said, if you’re unlucky, you can still get several days of rain during the so-called dry season in July/August.
I’d personally pick October, assuming the crowds will be thinner—and that’s definitely something to consider, given the hordes of tourists heading to Bali these days. Plus, September is usually still nice in France, so it’s better to wait a little longer for some sunshine! 😊
PS: For snorkeling, if you’re comfortable (it can get a bit choppy), I’d recommend taking the ferry to Nusa Penida and snorkeling at Manta Point—you’ll almost always see dozens of manta rays there! Elsewhere, choose your spots carefully, since the southern beaches are better for surfing. Padang Bay or Amed are pretty decent options.
The two months will be good for snorkeling, but October is the best to avoid the tourist crowds that happen in July-August (Westerners) and December-January (Oceanians).