Pour résumer les deux posts-ci dessus : fais ce que tu sais faire, tant que ça rentre et que ça fonctionne, impec.
Si ça ne rentre pas, soit tu as de la marge dans ton programme pour des optimisations, ce que proposait J-M-L avec la manip sur l'union par exemple, mais il y a une somme d'apprentissages non négligeable à ingurgiter, soit tu passe sur un micro plus gros.
En l'occurence dans ton cas, remplacer des cartes pro mini par d'autres cartes pro mini mais avec le 328, ce n'est ni compliqué ni onéreux, et c'est du coup de loin plus facile que de passer des heures à optimiser du code.
C'est aussi ce que j'ai fait sur mon projet, j'ai du passer d'une UNO pourtant largement suffisante en termes d'I/O à une mega car ça ne rentrait pas...