Strategy:
Milotic is one heck of a durable Pokemon. With great HP and defenses
and the ability to learn Recover naturally, it can be a pain to take
this Pokemon down. As usual for most Water Pokemon, you'll want Surf
for STAB and Ice Beam to take care of Water resistant Pokemon (Grass
and Dragons). Enemy Water types give Milotic trouble, but Milotic
has a couple of status effects in hand. It is one of the few
Water Pokemon to learn Hypnosis, which can be used to disable tough opponents.
Toxic can be an option over Hypnosis. It's another effective
way of handling Water types since it weakens their staying power.
If they don't have Rest, they are forced to either switch out or suffer
ever increasing poison damage.
The two sets of EVs here are up to personal preference. 252 EVs in Milotic's HP and Defense maxes out its defensive potential and even let's it survive a Swords Danced Earthquake from an Adamant Garchomp. However, Milotic needs at least 266 Special Attack to OHKO Garchomp with Ice Beam, so you can go with a more offensive spread. 120 EVs gives you the required Special Attack while the placement of the HP and Defense EVs still allow you to survive the Garchomp's Earthquake mentioned earlier.
RestTalk
This is the set that maximizes Milotic's tanking ability.
With Marvel Scale, Milotic boosts its Defense by 50% if it's under a status
move. But Milotic does not like losing HP from Burn or Poison
because it can't last as long. The answer? Put yourself to sleep with
Rest. Even under self-inflicted sleep, you will still get the Marvel
Scale boost. Even better is the fact that Rest only lasts two turns
so you'll always know when you'll wake up.
Still, those two turns spent sleeping could spell disaster if you
sit around and give your opponent free turns. That's where Sleep
Talk comes in. Though it chooses your move randomly, enemies will
have to think twice about fighting a Milotic that has an increased Defense
and the ability to still attack while sleeping.
Max HP and Bold nature is needed for Milotic to take hits. The EVs in Special Attack ensure that Milotic will OHKO Garchomp with Ice Beam. The remaining EVs should be added to Defense, giving it 250 Defense total. When sleeping, this will be boosted to 375 and that is more than enough for Milotic to survive a variety of powerful physical attacks.
Other options: Hidden Power Electric (TM10), Dragon Pulse (TM59), Mirror Coat (Breed with male Corsola), Haze (Breed with male Wooper, Seviper, or Ekans), Light Screen (Breed male Pikachu/Mareep with female Psyduck, then breed male Psyduck with female Feebas), Aqua Ring (Lv. 49)
Milotic doesn't have a broad range of special attacks, but Hidden Power Electric is a good move that wasn't mentioned above. This useful against most Water types and is especially effective against Gyarados.
The only other notable special attack is Dragon Pulse, which isn't very useful since Ice Beam does more damage to every Dragon type besides Kingdra.
Mirror Coat is another good alternative that can be a surprise for many opponents. Milotic can survive many special attacks due to its excellent Special Defense and can send those attacks back at the opponent. However, Mirror Coat requires careful prediction. If you use it when your opponent doesn't use a special attack, it will fail and the surprise will be ruined for the rest of the battle.
Haze can be used to clear an opponent's stat boosts. The problem is that many Pokemon with stat-boosting moves (like Swords Dance Garchomp and Nasty Plot Azelf) are too strong for even Milotic to handle.
Light Screen can benefit Milotic and the rest of the team by lowering the damage from special attacks.
Aqua Ring isn't a very good option since it's just unnesseccary. Milotic already has Recover as its healing move, so the health that Aqua Ring provides will hardly make a difference.
How to counter Milotic: Blissey, Empoleon, Starmie, Suicune, Ludicolo, Lanturn, Gyarados, Celebi, Shaymin, Venusaur, Meganium, Zapdos, Raikou
Most Milotic counters risk being put to sleep by Hypnosis or at least poisoned by Toxic. Still, Blissey can switch in with the greatest of ease. Any status moves Milotic tries to use will simply be healed away by Natural Cure or Aromatherapy.
Water types generally do well against Milotic as long as they beware of status. Empoleon is immune to Toxic and can defeat it with Grass Knot. Starmie has Natural Cure and access to both Grass Knot and Thunderbolt. Suicune also walls Milotic very easily and usually knows Rest to get rid of status. Ludicolo can annoy Milotic with Leech Seed and can deal a lot of damage with Grass Knot or Energy Ball. Lanturn can hit it with a Thunderbolt. If Milotic doesn't have Hidden Power Electric, Gyarados can rip it apart. It will simply Taunt its attempts to use status or Recover while boosting its own stats with Dragon Dance.
Defensive Grass types are another group of Pokemon that do well as counters. Ice Beam isn't much of a problem since these Pokemon possess high Special Defense and recovery moves. Celebi knows Recover and can Calm Mind to reduce Ice Beam's damage. Shaymin has the powerful Seed Flare. Both of these Grass legendaries don't mind status due to Natural Cure. Venusaur is immune to Toxic and can disable Milotic with Sleep Powder. Meganium can set up a Light Screen and drain Milotic's health with Leech Seed.
Milotic is weak to Electric, but most Electric types will take too much damage from Surf to be reliable counters. Zapdos and Raikou are two exceptions. The thunder bird has high Special Defense, Light Screen to reduce damage from special attacks, and Roost to keep itself healthy. Raikou also has high Special Defense, Calm Mind to boost it even higher, and Substitute to protect itself from status moves.
Links to Pokedex Entries
Bulbapedia
LegendaryPokemon
Psypoke
Serebii
Smogon
Veekun