Мда... Собрались знатоки Android-а...
Объясняю по пунктам:
1. Всё ПО внутри Android делится на "предустановленное" и "установленное юзером". При этом "дисковая" память самого устройства "общая" и под те, и под другие. Фишка заключается в одном нюансе - то, что "предустановленное" - стоит в отдельной папке (точнее - в отдельном разделе диска) с очень ограниченными для юзера правами. "Благодаря" этому - удалить и даже перезаписать там что-либо юзер не может. Результатом этого является занятный факт... Вот поставил ты"злых птичек", например, выкушало у тебя (например) 10 метров "диска", перекинул на флэшку, у тебя остались "критичные файлы" (чаще всего это это базовые бинарники, которые составляют около 10-20% общего объема приложения). То есть даже перекинув на флэшку - 1метр памяти девайса ты выкушал. Потом поставил update размером в 11 метров. У тебя в памяти девайса выжрется еще там 100-200 килобайт, остальное ляжет на карту. НО!!! Если ты обновляешь предустановленное ПО - у тебя... старая версия остается на диске (ибо стирать и перзаписывать эту область диска ты не можешь), а новая версия мило ложится рядом, выжирая еще один объем приложения. Ососбенно мило откушивает обновление флэш - метров 15 выжирает и еще и на карту не переносится... Это к вопросу "куда девается место" - обновить Flash Player, Google Maps, Google StreetView и половины памяти у тебя уже нет. Плюс многие софтины любят кэши складывать в память устройства + "данные приложений" по умолчанию в память девайса ложатся... Вот она и кончается...
2. Выходов из этой "попы" несколько:
а. Получать S-OFF в рамках девайса - это даст тебе возможность записи в тот самый "защищенный раздел", что при обновления предустановленного ПО сильно экономит место.
б. Ставить софтинки типа app2sd++, которые позволяют у многих софтин выносить "файлы данных" и "кэши" на карту памяти.
в. Радикальное и (имхо) самое правильное решение - рутоваться и ставить прошивку, которая позволяет монтировать раздел /data целиком на карту памяти в отдельно созданный там раздел с файловой системой ext3/ext4 или еще какой-либо "линуксовой". После этого размер доступной памяти в девайсе "замирает" (всё ставится на карту памяти, включая кэши и файлы данных). Если решишь идти этим путем - не жадничай - отдай под этот раздел гиг или два от карточки. Зато по сути навсегда забудешь про ограничение по месту для установки.
3. Твоя железка - это не слишком уж редкий зверь. И прошивка нашлась секунд за 30 поисков:
тык сюды - там и инструкции, и прошивок на выбор, насколько я понимаю - есть и с русской мордой. От себя могу лишь добавить, что чего-либо внятно на тему "какая лучше" не скажу, ибо вообще не изучал сей вопрос, но CyanogenMod вроде довольно неплохая штука.
От себя могу добавить - если решишь "перешиваться" - не пренебрегай пунктами про "сделать wipe" перед разного рода действиями. Я сам до конца не прокурил вопрос, но в Android "старые хвосты" могут легко изгадить процесс перешивки вплоть до получения "кирпича". Сам перешивал себе Desire - пренебрег на первом пункте (думая, что "нафих тут чистить - один фиг щас всё переставится")... Получил феерический набор окон с ошибками и циклический ребут... Сделал wipe (как и было рекомендовано) - всё прокатило с первого раза "без единого разрыва".