For a general treatment of facing that kind of attack it would probably be better to post the other game. In this game is was less a positional consideration and more to do with tactics.
For example 2...d5 offers white a pawn for no reason.
Ok there is some positional considerations, for example after you lost the right to castle (Nxd8 would be better) it's very tough for black already because you'll be both behind a pawn and behind in development (how to get your rook out).
The other consideration is the move g5. In the position after 10.Bf4 you should be trying to find a way to get your king out of the center and your rooks connected. g5 does not solve your development problems, but worse it gives white a way to open a file with h4.
I don't know how often books mention it, but the opening guidelines about development really last the entire game. If lines are opened, and your opponent's pieces are better placed (or in case of the opening, if not as many of your pieces are developed) then your position will be worse. Every time tactics will "magically" appear for your opponent simply because he has more pieces in the game.
So why specifically is black's position so difficult after 15.Bf4? Is it just because he's lost a pawn or two? No. It's because none of his minor pieces (with the exception of the knight on c6) influence the center, his king is stuck in the center, and it's very difficult for his rooks to enter the game. So again, if you're not used to thinking about positions in this way, tactics will "magically" appear for white and you won't know why. In this case it doesn't have to do with 0-0-0 or any one move, it's simply because black's pieces are passive or undeveloped in comparison to white's.
-----------------
Actually it can be pretty innocuous to me too. Once I was playing some training games with a player about 400 poitns below me. I set up a bad position for myself (where I was tied up defending and my pieces were passive) and we played a game from that position. He actually did a really good job of attacking me, and to my surprise I lost quickly. It's just that when we played a real game, my fundamentals were good enough that he never got a strong enough position that let me see his attacking play shine... in this case I thought tactics "magically" never appeared for him! (forgetting it all goes back to these fundamentals).
So that's my advice to you. Focus on developing your pieces and controlling the center, castling, and finally connecting your rooks. Make this your primary goal (other than not losing material to 1 or 2 move threats) for at least the first 10-15 moves of the game. If you can do it consistently before move 15, then you'll notice the really tough positions to deal with like the one you posted just don't seem to happen to you anymore... almost like magic :p
I want to know how to counter these pawn thrusts really when sides do castle opposite sides because thats i think where i lack. Also, this guy beat me 2 times applying same strategy of pawn thrust h5/h4 followed by 0-0-0 after couple of moves. So any advice or books or links would be appreciated.
And i will post the second game i lost, the similar way but same strategy by the opponent: