Well, there isn't really any ''good'' water Pokemon. Legendaries are always strong, and a great one is kyrogue, which you can get in Pokemon emerald. It really all depends on which moves the Pokemon...
Go in front of the person you want to battle and they will spot you but if you want to battle a wild Pokemon run around in the grass for a bit and you will find a wild Pokemon.