"Horses for courses" is the policy that India and a lot of other test playing nations need to adopt.
Rohit Sharma and Dhawan are better suited for Asian conditions, but outside Asia, Rahane and KL Rahul should get the nod.
Bhuvi is an all-condition bowler, I don't see him out of the team in any kind of conditions, even if the conditions are not favorable at all, he can bowl tight lines and control the damage while contributing with the bat.
Ashwin looks a lot more evolved and wants to continue contributing with the bat, but does he and Pandya both fit in the team? Especially considering the fact that Saha is not that good with the bat. If conditions are not that favorable for spin and we need only one spinner, Kuldeep Yadav can do the job. A wrist spinner who is difficult to pick is a threat on any surface, especially when he can extract so much of turn.
Also, if Dinesh Karthik can do well behind the stumps, he definitely needs to be in the team. He is way better than Saha with the bat.