Firstly, Sarfaraz was with the squad for a long time and never got to play, so I don't know how his "presence" shattered Rizwan's confidence.
The simple fact is that Rizwan didn't get any runs under his belt this series, and that's on him, because he had the opportunity to do so in the first two ODIs.
Sarfaraz came in to remove the domestic frauds Asif and Danish seeing as we had no other options for the middle order.
BEFORE ANYONE SAYS THAT HAIDER SHOULD HAVE BEEN SELECTED, THE MANAGEMENT DISCLOSED THAT HE WAS FEELING UNWELL WITH A TOOTHACHE.
That left only Abdullah Shafique, and is it fair to put Abdullah Shafique, and opening batsman, down at 5 where he is clearly not suited, and nor does he have the experience of playing there?
The decision to play Sarfaraz was completely logical given the circumstances, and the reason there's so much criticism is because he didn't score. Had Sarfaraz hit a 50+ score here, I wouldn't hear many people complaining.
If Rizwan was seriously that good, his average wouldn't be in the 20s in ODI cricket. It's a bitter pill to swallow, but people need to understand that Rizwan has been extremely inconsistent in ODI cricket. He is a fantastic test batsman, and did well in T20s, but his ODI form is quite shockingly poor.
If it were up to me, I'd sideline both and play Rohail Nazir.