The 7950 is only about $40-$50 more, which imo isn't that much. I always see people posting how the 7870 xt can OC to about the same as a stock 7950, but from what I've heard the 7950 can OC to roughly a stock 7970. So, which one?
I'm leaning towards the 7950. Because I don't play bioshock or tomb raider, and when I build my computer I'm to want to test it with one of the most graphical demanding games out right now; Crysis 3. So I can save $60 since the 7950 comes with it. But for arguments sake, lets just assume I don't care about any of the games the cards come with.
you get 120 dollars worth of games if you go with the 7950. you get 60 dollars worth of games and tomb raider (I consider that trash, BTW) with the 7870xt. I would go with the 7950, and either keep the games (bioshock infinite and crysis 3) or sell them slightly less than market on ebay or something. you'll still make the price difference up.
as for hardware: very similar. 7950 will be better, yes, but not by much. it comes down to what your budget is, and how much you'll stretch it.
missed the fact that you mentioned the games already. well, if you want crysis 3, then it'll make up the price difference on it's own there. I'd hold on to bioshock infinite though, it's looking to be an incredible game.
If you can afford it go with a 7950. Yes the 7870 can overclock to match the 7950, but the 7950 can easily overclock past that of a stock 7970ghz edition, and gives you an extra gig of ram which will help the card have a longer life span since games are already past using 2 gigs. I run 2x 7950's in crossfire and love them. Crysis 3 looked stunning. While the 7870 will let you play it at an acceptable rate, for more eyecandy you'll definitely want the extra power of the 7950.