Hey buddy,
I know any kind of advice will be futile, there is no formula to such things, but I have learnt a few things in the past 1 year, which you might find useful.
I am from bangalore, did my engineering from a decent college, did fair in studies and landed a handful of jobs (4) in my campus placements. According to my friends I was fairly set. I chose a company which was not the highest paying among my options. I chose this then "small-ish" now fairly popular company called musigma. I worked there for about 20 months, salary wise things were okay (got about 40k then) but I could not say I was happy. I used to travel 5 hours a day (many bangaloreans do that) and then take shit from your higher ups who did not know anything. I then wanted to try out something "real" and joined a school friend of mine at his boostrapped startup. At this point, I had had much better offers but chose to work with my friend at a salary of about 10k. I learned a lot, worked about 12 hours a day, 6 days a week. Travel time was less (~2.5 hours) and work quality was good. But after over an year, when the company was not growing and my poor salary started affecting my confidence (in front of friends, family) and other issues in the company (regarding its direction) I decide to leave that too. Now I am in a company where the salary is good, people are good, food is good, etc, but I am not still happy, because I say the "leadership" is not good.
The point is that I find excuses NOT to be happy. I think many of us do the same. We can blame others, blame situations or blame ourselves, but there is no point. I think we need to take the positives out of every situation and move on, period. Being happy is and always will be in our hands.
PS: don't look too much into the hike figures. For some people, 20% hikes are less. On the flip side, ask guys in infy if they would like a 15% hike. Don't make money the only criteria, it WILL only make you unhappy.