Regarding this game, for me the problem is quite simple: white has devoleped better its pieces in the opening (3 ... a6??), in particular on the side where you have decided to castle (too soon).
How to deal with pawn storm on king side

28.Nxh5+ lost white the game, what a blunder! , after this move white's best choice is queen d5 to switch queens but that would lose him a knight. So black has a forced mate.

11.... nxf4 is the "problem" I see with your game really(although it still worked out). Not necessarily a bad move. Maybe it was more of just a key position. But, there is no pawn storm coming if you don't take that.
I see 11... e5 as much stronger. you attack the bishop and d pawn (which is unprotected because of the hanging rook on h1). The one thing you would need to make sure is the bishop doesn't end up getting trapped in the corner(which at a glance it does not seem to).
And just as a general rule(remember general rules are overriden by specific characteristics of the position like tactics) aggressive intentions on the wing should be responded by a threats in the center
Sometimes players castle on opposite sides and in these cases a player moves his pawns to attack on opposition king.What is the best way to counter it?
Or should one wait for the opponent to castle and then castle on the same side to avoid it?
Here is a blitz game I played recently in which I had to face this kind of attack.I won this game but that is beside the point.A stronger opponent would have won easily in my opinion.Check the position after 14 moves - Black's position seems to be in danger.I guess,after that,opponent made a few mistakes which cost him the game.
Sorry - no annotations.