The answer, believe it or not, is actually: because that's what's used in Japanese itself.For me the ridiculousness of the "ou" is why is it a bloody U?
For example, mou is written もう.
も = mo
う = u
O is the only long vowel sound this happens with; the rest just use a repetition of the hiragana character for the vowel that you'd rightly expect to see. There is an exception to using ou to represent an extended O sound, though, and that is for anything involving largeness, for some reason. Those are instead written with an extra O character. Examples:
Ooi or ōi, meaning "much" or "many", is written おおい.
お = o
い = i
Family names such as Ootomo/Ōtomo or Oobari/Ōbari that begin with the kanji 大 ("big") similarly take an extra O instead of a U. That's arguably even more off-putting to look at than the ou combination, and is one of the few times I would prefer to use the horizontal bar above the letter.
I myself usually prefer doubling the letter, because I think it's just outright more noticeable and forces you to acknowledge how it affects the pronunciation.
I've seen an H used in stylings such as the name Gendoh, and it's a good shout, but it falls down in cases where the proceeding sound is another vowel. Ooi in the example above would end up as ohi, which is unreadable.Why not an H, or even a W like Shirow Masamune uses?
The spelling Shirow is unfortunately not foolproof either. I've seen a trailer on an old Manga Entertainment DVD (probably for Dominion Tank Police) where the voiceover guy pronounces it so that it rhymes with "cow" rather than "crow". I don't think there's really any completely foolproof method, unfortunately, and that's simply because we don't have long versus short vowels in English.