Wie gesagt, wenn Leute man lernen würden dass reserve() existiert und was das bedeutet, wäre es nicht so schlimm. Das ist wie in OOP Sprachen wie man eine leere Collection anlegen kann und deren Größe vom Compiler verwalten lässt, oder man fängt mal mit 10 Objekten an weil man weiß dass man diese gleiche braucht (wobei man da sagen muss der der Wachstums-Algorithmus dieser Collections intelligenter ist als das Array jedesmal nur um 1 zu vergrößern).
Eine gute Option ist diese Klasse:
http://arduiniana.org/libraries/pstring/
Damit kann man print()/println() verwenden um in char Arrays zu schreiben. Man hat also nicht diesen Speicher-Irrsinn, aber trotzdem Komfort