Du solltest die konstanten Strings in das Flash verlagern.

Wenn du die Strings so wie bei dir definiert, landen sie zunächst einmal im Flash (damit sie dauerhaft erhalten bleiben) und werden dann beim Bootvorgang ins RAM kopiert. Aus Sicht des Compilers sind es nämlich ganz gewöhnliche Variablen, die auch zur Laufzeit geändert werden könnten. Somit wird dauerhaft eine Menge RAM belegt, und das ist auf nem Tiny oft tödlich.

Daher sollte man bei solchen langen konstanten Texten eine separate Funktion schreiben, die die Daten direkt aus dem Flash lädt (mit LPM bzw. den entsprechenden avr-libc-Funktionen).