Here's my rambling post on romanizing Japanese:
There will always be a problem no matter what romanization system you choose to use to represent Japanese (or for that matter, any language not written with Roman characters). There are many reasons, the most obvious of which there is not a one-to-one correspondence between symbol and sound in English spelling, which will invariably interfere with how you pronounce a transcription of a foreign language.
There have been many attempts to create "accurate" romanizations of Japanese (see the following link for an interesting though brief discussion of the Japanese Romanization Society - a post-war society dedicated to the abolition of Chinese characters and kana -
Japanese Romanization Society )
There was originally the Nippon system, modified to become the Kunrei system, but
the most popular by far is the Hepburn system, which is really a romanization devised for English speakers. Here are a couple of examples of what I mean by that:
Japanese word - 自分 ('oneself')
Hepburn romanization - "jibun"
Nippon shiki (kunrei) romanization - "zibun"
IPA (International Phonetic Alphabet - Americanized version) - [jibun]
You may be thinking "why the heck would they romanize it with 'z' when it's pronounced 'j'?" Well, Japanese kana (native phonetic characters) are for the most part syllabaries, where each symbol represents a consonant-vowel sequence, rather than a single sound, like roman letters. Japanese has 5 vowel sounds (a, i, u, e, o) and a fair number of consonants.
Consider the characters standing for 'sa' 'shi' 'su' 'se' and 'so':
さ し す せ そ
Their "voiced" counterparts for 'za' 'ji' 'zu' 'ze' 'zo' are:
ざ じ ず ぜ ぞ
Notice Japanese doesn't have the sequence of sounds: "si", like in English "seek", nor the sequence of sounds "zi", like in English "zebra". Whenever "s' is followed by 'i', it becomes 'shi', as in English "she", and whenever 'z' is followed by 'i', it becomes 'ji', as in in English "jeans'.
So all this means is that when you want to romanize a Japanese word like "jibun", to a Japanese person, whether you write "jibun" or "zibun" makes absolutely no difference; they're equivalent. Of course, for an English speaker, they're totally different, so for most, "jibun" is more palatable because it "looks" right.
In the same way, whether you write "sushi" or "susi" makes no difference to a Japanese person; they will pronounce them the same (unless they have had extensive English education and are intentionally trying to mimic an English speaker). When you type Japanese, it's much more efficient to type 'si' rather than 'shi' before converting it to kana.
You'll also see 'ti' for 'chi' and 'zyo' for 'jo', and so on. If anyone is interested I can provide more links.
As for the vowel sounds, I said above that Japanese has 5. That is somewhat misleading, because each of them may be contrasted with the "long" version of the same vowel.
For example: ビル 'biru' (building) versus ビール 'biiru' (beer). Notice that the length of the vowel is represented by the long bar in katakana. If you aren't careful when distinguishing short and long vowels, you will have a heck of a time making yourself understood! In the same vein, if a Japanese person ever tells you to "**** down", take it with a grain of salt! They simply lack the distinction in Japanese between 'si' and 'shi'.
When writing long vowels in hiragana, the following conventions hold (with a few exceptions I can go into if anyone cares):
'aa' ああ
'ii' いい
'uu' うう
'ee' えい (actually a sequence of the characters for 'e' plus 'i')
'oo' おう (actually a sequence of the characters for 'o' plus 'u')
So when romanizing, there are 2 strategies you can take: 1. stick to the way they're represented in Japanese orthography a la Nippon system, or 2. try to represent them phonetically as perceived by a native English speaker, a la Hepburn.
There are a few variants of the Hepburn system for representing long vowels: 1. just write the vowel twice, 2. use a bar macron on top of the vowel, and 3. use a carat (like a circumflex accent in French) on top of the vowel. As long as you are familiar with the pronunciations of the basic 5 vowels, and you are consistent with how you romanize long vowels, there should be no problem!