I would go for the GTX 660 Ti. Actually i went for it! i have one now and im really happy.
I live in india too so i know the local prices. All prices are from SP Road in Bangalore which is one of the places where you can get components for lower prices.
The Asus GTX 660 Ti is Rs.22000
The Sapphire Radeon HD7950 is Rs.25000-26000
Benchmarks are in the link below.
http://www.anandtech.com/bench/Product/647?vs=550
As you can see the GTX 660 Ti is cheaper and performs almost the same(Except in Crysis) at 1080p. If you game at higher resolutions Then go for the 7950. The GTX 660 ti Performs better in games like Dirt 3, Batman Arkham City and Battlefield 3.
And you do not need more RAM. 4GB is more than enough for gaming. I have 8GB and i dont even use 4GB while playing Assassins Creed III. I use only 3.6GB. Plus if you need more you can always upgrade your ram. 4GB in india is only Rs.1200
The Radeon 7950 also needs more power and produces more heat than the GTX 660 Ti.
I play Assassins Creed III on my GTX 660 Ti Maxed out and the Minimum FPS is 55.
On hitman absolution Minimum FPS is 37
In Modern Warfare 3 it never dips below 60fps.
Buy the GTX 660 Ti, its a great card. Trust me, i have it.