I am supposed to start at Google on 1/3. Not 100% sure because I'm trying to extract more money (and don't really want to move to New York).
But the reality is: you can let your soul be crushed by evil, or you can like the likeable parts of your job and ignore the parts you don't like. It is sometimes fun to be smarter than everyone else, after all.
1) Don't prematurely optimize for salary, your market value increases vastly by having worked for Google. In addition, the bonus and RSUs have actual value, and you'll undoubtedly get raises if you think your initial offer was bad.
2) I'd hate New York also, but you're not moving there for the rest of your life. I know people who've moved from Mountain View or San Francisco offices to Seattle offices, and vice-versa while staying at Google. The Cambridge Office is quite nice as well.
I personally don't like Bay Area at all (San Francisco is disgusting, rest of Bay Area feels like you're stuck in a bad 70s movie), but there are only a few metropolitan area where software engineers are appreciated.
3) Just do it: I saw your comments on this site, I saw your Github repositories. You'll find actual culture fit at Google, something you won't be able to appreciate until you actually have it (or, on the flip side, as I found out myself -- until you've lost it and found it again).
Just don't use working at Google as an excuse to stop working on personal projects.
I don't really care if working for Google increases my market value, since I'm not sure I would want to leave Google once there. So it makes sense to me to get salary sorted out now, and then move to Google. If I passed the interview once I can probably do it again.
The reality is, if I didn't have to move, I would have accepted Google's offer instantly. But New York is expensive, and moving is a huge pain, and so the value isn't there to make me think, "yes, I must do this". I don't want to coordinate movers and look for apartments; I want to ride my bike and write software.
(Something that was strange about the Google negotiation process was that they only tried to match Amazon's Seattle offer; they never asked me what I wanted in order to move to New York. Take it or leave it, not negotiable. So if I can get what Google offered me from my current employer, it works out better for me in the short term.)
Edit: as it turns out, my current employer "can't" match my offer at Google. So, I'm moving to New York :)
Don't let anyone tell you that NYC is a bad place to work. You will have a much shorter commute, much more to explore in your city, and have a diversity of people around you here that aren't all in web companies. If you are dedicated and put effort into it, you can find a cheap place to live as well. The Google office here is also the real deal: plenty of big projects based in NY :)
But the reality is: you can let your soul be crushed by evil, or you can like the likeable parts of your job and ignore the parts you don't like. It is sometimes fun to be smarter than everyone else, after all.