Scambiare lo sketch del master con lo slave, si, posso farlo ma il problema resterebbe lo stesso, ovvero avrei le variabili globali dello slave che occuperebbero troppa memoria.
Di logica ne ho poca, solo quella relativa alla conversione delle coordinate nmea in gradi. Il resto sono tutte funzioni come inet, gps ecc.ecc- Oltre a queste dovrei ancora aggiungerne altre quali call e sms. L'ideale sarebbe poterle inserire nello slave (o nel master nel caso adottassi la soluzione da te consigliata) su cui non è installato lo shield GPS, ma non so se questo si possa fare.