l' innerHTML e' una rappresentazione dell' xhtml, a partire da quanto renderizzato
ogni browser e' libero di riorganizzarla come meglio crede perche' non e' il codice scritto nel documento,
queste discrepanze non ti devono meravigliare
se vuoi per forza manipolare quel contenuto come stringa (e non come nodi, su cui i metodi del DOM ti darebbero gia' strumenti di selezione ed analisi di base) non puoi che cercare di renderla uniforme (per esempio imponendo il lowercase) e/o preparare buone regExp
ciao