Add keyword argument to HTML parser to take an integer / list for the rows to interpret as header rows. If more than one, interpret as hierarchical columns / MultiIndex.
Presumably this would also allow you to round-trip Data Frame with hierarchical columns.
I don't think this already exists.
related #4468
related #4679
related #4673
See for example: http://www.sec.gov/Archives/edgar/data/47217/000104746913006802/a2215416z10-q.htm#CCSCI