Симптомы были следующие: заливаю полный бак (по горлышко). Стрелка показывает 55 л (вместо 60). Затем езжу, стрелка по мере расхода бензина быстро падает до 40 л., а затем медленне до 0. При этом в баке еще остается 20 литров. Очень не удобно - либо каждый раз заправляться до полного бака, либо ориентироваться по лампочке. Лампочка срабатывает почему-то не всегда.
Разобрался в причине.
Бак е30 с 1988 года выпуска устроен так:

Трубка обратки входит в левую часть бака, проходит по его дну и идет в правую, где и кончается. В трубке обратки (еще по её пути в левой части) сделано отверстие перед утолщением. В это отверстие бензин из левой части перетекает в правую (его засасывает в эту дырочку). Таким образом, эти части имеют двойное сообщение: сверху у них общее пространство, поэтому при заливе более 20-30 литров бензин перетекает из одного сообщающегося сосуда в другой, а второе сообщение - уже упомянутое с помощью трубки обратки.
У меня то ли отверстия в трубке немного обрасли грязью или ржой, то ли еще какой-то глюк, но левая часть бака почти всегда сухая (за исключением случая совсем полного бака), а правая - полная. Из-за этого датчик в левой части показывает отсутствие бензина (точнее, очень быстро падает до нуля), а весь бензин оказывается в правой части.
Что я сделал: перемкнул контакты в разъеме левой части бака (при замкнутых контактах имитация полного бака). Таким образом, работает только датчик в правой части бака. Теперь стрелка при полном баке показывает 60 литров, а потом снижается до нуля при действительно пустом баке! Единственное неудобство - на поворотах стрелка прыгает, отслеживая плескание топлива.
p.s. Датчики проверял - они работают, сопротивление линейно меняется от 5 до 70 ом по мере перемещения поплавка, так что дело не в них. Может быть, аккумулятор в приборке сел, но остальные приборы кажуть верно. В общем, Чёрт знает, что за причина, но эмпирическим путем глюк побежден!