Because of this incomplete bijectivity, some applications, e.g. dictionaries, use a modified Hepburn system, which is bijective, e.g. by using "dzu" and "zu", instead of Hepburn "zu" (and "dji" and "ji").
Hiragana also has its problems, because the hiragana used before WWII corresponded with an ancient pronunciation of Japanese, from many centuries ago, which no longer matched the modern Japanese pronunciation.
After WWII, under the American occupation, there was a reform of the writing system, which replaced many kanji used before WWII and it also changed the spelling in hiragana of many words.
In general the modern hiragana spelling has been changed to match the modern pronunciation, but there are a few survivals of the older spelling that lead to inconsistencies.
As an example, the hiragana syllable now romanized as "ha" was pronounced for some time several centuries ago as "fa-" in initial syllables and as "-va-" in internal syllables. Then the pronunciation shifted to "ha-" in initial syllables and to "-wa-" in internal syllables. After WWII the "ha" hiragana character was replaced by the "wa" character in most internal syllables, to match the new pronunciation, except in the "-wa" postposed particle, where the "ha" hiragana character was retained, despite the pronunciation. The particle is now romanized as "wa", so going backwards to hiragana would produce the wrong hiragana character, another example of non-bijectivity, besides "zu" and "ji". Yet another non-bijectivity example is that the postposed particle normally romanized as "-o" actually uses the hiragana character "wo".
The changes in hiragana spelling after WWII are also responsible for the fact that many Japanese words reproduced in old books written in English, e.g. from the 19th century, appear quite different from how they are written today in the modern Hepburn romanization.