Das klingt nicht nach wirklich vielen Aufgaben für den Controller. Die GPS daten sollten eher langsam ankommen (1200 oder 9600 Baud), da ist Software UART eigentlich kein Problem. Die anderen Teile, außer eventuell der USB sind auch eher langsam.
Man wird aber beim Programm schon einiges planen müssen. Das dürfte eine relativ komplizierte strucktur mit recht vielen Interruptroutinen werden.

Da sollte man wohl erst mal mit der Software anfangen und dann sehen ob ein Mega32 reicht, oder man doch den Mega128 braucht. Welcher Programmiersprache ist geplant ?