From reading the HAT spec, the ID EEPROM is fixed at address 0x50. This implies that only one real hat may be present at a time, yet lots of products are called HATs and say that they can be stacked, for example, https://www.adafruit.com/product/2348.
In the case of identical hats from the same manufacturing batch it can probably be assumed that the eeproms will respond reasonably simultaneously (they are slaved off the same SCK signal after all) and thus return identical information. There is of course the issue of now having multiple pullups in parallel, but for two or three boards what will probably not be a problem.
Nowhere in the official documentation could I find a discussion of this problem, either a statement to the effect of only allowing one hat at a time, or what to do for stacked hats.
Comments from people who have actually designed hats?