Soundproof. Most of the moves Soundproof protects you from are effective and not very effective, only three of them are super effective (Clanging Scales, Clangorous Soulblaze and Disarming Voice), so I wouldn't recommend this one. The only good thing about this ability to me is that you can protect yourself from Clangorous Soulblaze users.
Bulletproof. Bulletproof protects you from, Beak Blast, Ice Ball, Mist Ball and Weather Ball (Ice) and other moves that I don't think matter because they aren't super effective. This is a extremely great ability if you are the kind of trainer who predicts your opponents attacks and switches out into Kommo-o just before a Tocannon is about to use Beak Blast or just before a Latias uses Mist Ball.
Overcoat. Well Overcoat is kind of useless because it only protects you from that tiny amount of damage that weather (Hail, Rain, etc.) gives you. Okay, it's not completely useless, it makes you immune to powder moves, most notably Spore.
I definitely recommend Bulletproof.
Source. Also most people use Bulletproof, and here's the proof to prove it (do you see what I did there?).