Shehzad needs to be dropped from the ODI team as soon as possible. Not only have his performances been selfish but also despicable which could have cost Pakistan a lot of games. However, that being said, I personally think that he was dropped unjustifiably from the Test format and he deserves to be there. It is yet another case of Pakistani selectors not doing a player justice and selecting him for the wrong format. In no way does this mean that Shehzad cannot excel in the ODI format, he has shown otherwise in the past HOWEVER, it is very likely that at this point in time, Shehzad will not only excel in the Test format but also be an asset to the team considering the serious drought of talented opening batsmen we're going through.
He cenrtainly has the capability and the ability to be a very good batsman and he's shown that in the domestic arena consistently churning out runs, and you can't really blame the selectors for selecting him, it would be criminal to not select a player who consistently turns up as the top run scorer in ALL your premier cricket tournaments. Even England gave Mark Ram 50 something Tests.
I think playing more Tests will do a lot of benefit to his game and will make him an overall better cricketer, more suited to the ODI's as well.
Shehzad has shown in the past that he has the hunger for big runs, consistently getting centuries. He has also shown that he has the ability to play "scary" and very good bowling and he has ALSO shown that he can get good runs anywhere in the world, with a hundred in South Africa. And one cannot deny that they remember that Shehzad was once an aggressive player, getting at least a boundary an over at one point in his career. So, you can't deny the talent. The class is there. The cover drives are there. The straight drives are there. The good shots are there. It is only a problem of getting settled and finding gaps which can be fixed.
Throw the boy in the Test arena and watch his game improve. It is a world renowned fact that your technique massively improves playing Tests. But as of now, doesn't deserve a place in the ODI team. HOWEVER, if his replacement is Azhar, then like I've said in the past, I'd rather have Shehzad because despite his mercurial performances in the CT, there is no denying that Azhar can't play quick even once settled whereas Shehzad can be a demon once settled.