O co se snažíte je dost šílené, ale budiž.
- BASE64 vám místo neušetří, naopak, zabere ho více
- vyzkoušejte místo obrázků SVG, mohlo by to být výrazně menší
- nenapsal jste, zda jste schopen ovlivnit hlavičky toho HTML souboru. Pokud ano, mohl byste ho tam uložit už komprimovaný a adekvátně nastavit ty hlavičky
- veškerý JS minifikujte, odstraňte všechny komentáře a nepotřebné středníky, dá se to snadno automatizovat nástroji
- podobně minimalizujte CSS a výsledný HTML (odstranění mezer, komentářů, konců řádků, krátké názvy, ...)
- s použitím non UTF-8 kódování bych byl opatrný, úspora bude minimální
Zvažte použité knihovny, omezte množinu povolených browserů (hlavně ty starší), je toho hodně co se dá udělat. Přesto 128 kB není mnoho.
Přemýšlel bych, jestli to stojí za to. Ale je to dobré cvičení znalostí. Existují soutěže, co vše se vleze do 1 kb JS kódu. Je to inspirující čtení.