Dhoni may be a better captain when compared to Kohli, but I don't think that he is among the best. During the last year's IPL, he insisted on including players such as Kedar Jadhav in the squad, which resulted in many losses for the CSK, in matches which they could have otherwise won easily. He was one of the best 5 years back, but not now.
MSD not among the best? Lol. This guy smartly transformed the Cricket structure in India through his tactical brilliance. He was already proclaimed as a legend in the Cricketing world after India won the World Cup.
No captain is perfect. He is human. Their performance last year was abysmal indeed, but look how they bounced back this year. The CSK management could have replaced like him like what SRH did to Warner, but they chose to trust him and look what happened.