You are true in your assessment where in jobs for same/similar profile would be paid significantly different in different cities and yes, Bangalore, as far as I know is where you could get the highest salary.
Also cost of living is a factor but then so is standard of living and both go hand in hand.
Hyderabad is pretty backwards in this regard, very rarely have i seen people cross 10L package in general, unless its the big guns like Google/Amazon/MS
Cost of living is high, but you should also factor the sense of value associated with with your salary, and more than the money itself, its the sense of worth that is a factor for me. If your package is 10L and someone else's is say 20L, even though hes in a different city, the feeling of being worth so much is difficult to replace, not to mention any job changes would give you an even higher pay and also a sense of importance to the potential hirer.
Jumping from 10L to 25 is not as easy as jumping from 20 to 25, and at that level, perks would be pretty much on par everywhere. If you get underpaid then be prepared to be lowballed like anything unless they absolutely need you, I guess thats why its always good if you can make them make the first offer without disclosing your previous ctc. Why one should disclose their CTC is another matter all together, I mean I wont ask them what they were paying the guy who I'll be replacing right