I dont have much time now, so I might come back and edit this, but it sounds like you people(except kaxrida) are using sharpedo wrong.
First off I think his best moveset is protect/crunch/waterfall/icefang I have had more use for ice fang than I have with ice beam because ice fang kills all the things ice beam does, but ice fang hits things like dragonite and altaria harder, as well as having a flinch chance(which just recently won me a game). But anyway if sharpedo is playing against stall, mega evolve immediately and just destroy them, stall has virtually no switchins and debating over what poison type move to use is irrelevant especially when the mon you will be hitting with it most is clefable which is immune to status damage... I seriously dont understand what all that debate was about.
Here is a good replay of a core I built, stallbreaking talon+ sharpedo its a relatively high ladder match(high enough to be relevant)
http://replay.pokemonshowdown.com/ou-190818764
I think this replay shows that sharpedo relies on raw mother fucking power to do its job against balance/defensive teams. NOT poison damage or trying to stall them out, because he will get stalled out every time, he needs to be 2hkoing something or you are using him wrong. (everything I said applies to how to use him against stall teams)
Verse offense he is basically a completely different mon, he relies on speed to beat everything so you really only get one chance, but thats typically all he needs. I mean only bad players send out sharpedo against offense if he cant sweep,( or they have another wincon and just want to weaken something), but seriously Sharpedo is one of the best megas in the game imo, he won me more games than I can count and against good players too. Just because you see him used by idiots on the lower ladder doesnt mean he is bad. If you play with him against offense you seriously just need to eliminate/weaken like 5 mons. And when I say 5 mons I dont mean 5 mons on the team its usually 1-2, but there are only like 5 mons on offensive teams that can even live a hit from sharpedo, so if you lose that basically means that the other 5 members of your team couldnt even take out/damage 1-2 mons, you built your team wrong if that is the case.
tl;dr Sharpedo is a GOD, if you think he is bad, you are probably just bad.
I just love sharpedo and think hes under rated af, Im kinda just trolling around, although I mean everything I said,k bye.