Stereotypically, Bibarel is considered to be a horrible Pokémon. Statwise, it would seem that way to most. However, Bibarel can have three of some of the best abilities in the game: Simple, Unaware, and Moody. It also doesn't have that bad a moveset, and it can also get STAB from Normal-type moves. Bibarel also has the same base stat total as Azumarill (410), yet Azumarill is pretty widely used. So why can't Bibarel?
Here's my suggestion:
Bibarel @ Kee Berry / Leftovers
Ability: Simple
EVs: 128 HP / 124 Atk / 128 Def / 128 SpD
Careful / Impish / Adamant Nature
- Amnesia
- Curse / Work Up
- Skull Bash
- Waterfall
Moveset suggestions:
-Amnesia - with Simple, using this once will triple Bibarel's Sp. Def.
-Curse (or less desirably Work Up) - once again, for double stat boosts
-Skull Bash - double Defense boost, plus STAB
-Waterfall - basic STAB attack
-Double Team (probably) - doubles evasiveness (assuming you're not playing Pokémon Showdown)
If you'd rather not spend time looking for something that knows Simple Beam for double battles, Bibarel would be a good replacement.
As for its other abilities, which are both extremely useful, Bibarel wouldn't be the first choice because of stats. If you want to use something with Unaware, Quagsire or Clefable would be a better choice. If you want to use Moody (if it's legal on whatever you're playing), I suggest Octillery or Glalie. As for Simple, Bibarel would still be a good choice.
On a side note, Bibarel is virtually the best HM slave since Gen IV (next to Mew, but no one in their right mind would do that). It can learn most HMs with the notable exception of Fly (just try to picture that).