Few days ago India were in Srilanka, now Srilanka visiting India? why it has to be Srilanka always, they are shit teams anyways, now even one single good player. :/
All these schedules already fixed. If one team visit one country then they also need to visit that country to play matches.
Yes, schedules are fixed by ICC, and in consultation with both the cricket board.