Эти слова не однокоренные и даже не родственные. Балласт — из нидерландского ballast или нижненемецкого ballast, восходит к старошведскому barlast < bar ‘пустой’ + last ‘груз’. Баланс — от французского balance ‘весы’, восходит через посредство итальянского bilancio ‘весы, равновесие’ к латинскому bilanx ‘из двух чаш’.
Несоответствие связано с происхождением слов. Диффузия восходит к латинскому diffusio и попало в русский язык через посредство немецкого (Diffusion) и/или французского (diffusion). Родственный глагол диффундировать (он означает 'проникать, смешиваться путем диффузии; самопроизвольно распространяться во все стороны') также заимствовано из латыни (diffundere) через немецкий (diffundieren).
По той же причине, что и в Италии Москву называют Mosca: любые заимствованные слова, в особенности собственные имена, претерпевают изменения, осваиваются в "новом" для себя языке. Исторические преобразования слова Рим описаны в этимологическом словаре Макса Фасмера. Приводим словарную статью:
index" id="selectionindex5">Этимологический словарь русского языка. — М.: Прогресс. М. Р. Фасмер. 1964—1973.