The reason Milotic isn't OU is because there are so many Bulky Waters who can do the exact same thing...
Suicune vs. Milotic
First off, let me say that the move Hypnosis is all but dead in today's metagame. You said that the reason Milotic should be moved in OU is that it is one of the waters that can use both Hypnosis and Recover. Ignoring Hypnosis for the poor accuracy, Suicune has Rest. Rest may seem like the inferior option but if you're familiar with the Crocune set (Rest, Sleep Talk, Calm Mind, Surf) it's all too deadly. Suicune is naturally more bulky and has the ability to learn Calm Mind. Milotic might've been able to snatch a position in OU if not for Salamence learning Outrage. While Suicune can weather an Outrage with enough to Ice Beam in return, Milotic cannot do the same.
Starmie vs. Milotic
Obviously Starmie is not as bulky as Milotic, but now they both get Recover. However, Starmie has the ability to take out several major offensive threats such as Infernape, Salamence, Bulky Gyarados and can switch into most of Heatran's moves. Milotic cannot outspeed any of those threats and stuggles versus Gyarados. Starmie gets a powerful Thunderbolt while Milotic is limited to Hidden Power. Finally, Starmie gets Rapid Spin which is the immeasurably useful. Starmie can clear Stealth rocks, which are extremely common in OU whereas Milotic cannot.
Tentacruel vs. Milotic
Tentacruel may have several more weaknesses than Milotic but there is a reason Tentacruel is the premier specially defensive bulky water of OU. Tentacruel has Rapid Spin and Toxic Spikes. How can Milotic possibly compare to that when it learns neither? I don't think we have to go any further with that one.
Swampert vs. Milotic
Swampert has quite a few things over Milotic. Swampert has an amazing typing whereas Milotic's still leaves something to be desired. Swampert gets STAB Earthquake, Stealth Rock, Roar and the stats to run a mixed set. Swampert can utilize Curse effectively while Milotic cannot use any stat boosters. Haze is a pretty sorry option paired next to Roar. Not much to say here either.
Vaporeon vs. Milotic
Milotic doesn't have anything (Read: anything) over Vaporeon at all. Milotic may be able to recover but Vaporeon can use Wish, which can also be passed to team members and makes for a great support move. Vaporeon has superior HP and a decent Special Defense which pretty much leaves Vaporeon a superior stat distribution. Vaporeon has a massive Special Attack stat and can utilize a Specs set while Milotic with Specs would just look silly. Vaporeon can utilize Baton Pass with Aqua Ring and Wish which is something Milotic will probably never be able to do. Fake Tears also supply a semi reliable way to deal with Blissey which Milotic can absolutely not do.
Well there you go. Five OU bulky waters, each having their own reason why they are superior to Milotic. Now why move Milotic into OU when these five cover anything Milotic could possibley do?