Can Black punish a provocative h-pawn push against fianchetto setups? This question might sound ridiculous, but I think it needs to be discussed.
[fen &quot;&quot;]
1. c4 g6 2. h4!? (2...h5 3. d4 Bg7 4. e4 Nf6 5. Nc3 d6 6. Bg5 Nh7 (6...O-O) 7. Be3 O-O) (2...e5 3. d4 exd4 4. Qxd4 Nf6 5. Nc3 Bg7 6. Qe3+ Qe7 7. Qxe7+ Kxe7 8. Bg5 {White still maintains pressure}) c5 3. h5 Bg7 (3...gxh5 4. Rxh5 d6 (4...Nc6!? 5. Rxc5 e5 {Looks promising})) (3...Nf6 4. hxg6 fxg6) 

Doesn't really get earlier than this. All of us know this is not good play by White. But engines still think White did nothing wrong. And (in my opinion) White gets too much out of it.
Meeting 2. h4 with 2...h5 seems like a hard decision. On one hand the h-pawn is stopped, but fixing the structure also gives White all the intel he needs to coordinate an attack after opening up the kingside and it is unclear if Black's king can evacuate from the center to any other place than kingside. After ...O-O in the lines given it looks like Black will have to withstand a vicious attack.
Another idea might be to argue that White just wasted a move in the opening and play 2...c5, very pricipled. But then 3. h5 is annoying. If 3...gxh5 4. Rxh5 I think White achieved too much for &quot;free&quot;. In some openings, like the Dragon, White gives pawns or pieces to open the h-file. Here it is just there on move 5 and it is not really clear what Black has in return.
Usually, while White is pushing his h-pawn, Black tries to organise a counter attack on the queenside or in the center with his pawns and pieces. But Black has no pawns and pieces on the queenside or in the center this early and thus White can freely exert his pressure.
It seems that the best way to deal with 3. h5 is to play around it and develop as if it was not there, but it is looming there and very unpleasant.
First off, I think you want to play 2...Bg7. As a general rule of thumb, you should always finish your fianchetto on the next move. It also protects the rook on h8 if the h-file opens. I don't think 2...c5 is a very good move because it locks up the pawn structure and is going to make counterplay in the center more difficult. (2...Nf6 and 2...e5 are probably playable too)
If white continues with h5 then 3...e5. Another rule of thumb: Counter wing attacks in the center. 4.hxg6, hxg6 6. Rxh8, Bxh8 is not a threat.
The h-pawn advance wastes a developing move and does nothing in the center. As long as you're developing and playing in the center you should be able to equalize. I would just say delay castling until the position clarifies itself. Since you're ahead in development you should be able to build an attack which may negate the need to castle. You might also want to castle queenside if white spends too much time on the kingside.