Yo también soy nuevo en el tema arduino, pero no es la primera plataforma del estilo que toco.
Si activa y desactiva los puertos cuando él quiera, no tiene certeza alguna de que los datos que va a adquirir desde cada aparato pertenecen al mismo ciclo de los gps, y puede recibir secuencias incompletas, así que no creo que esa opción sea válida.
Por otro lado también hay que tener en cuenta que el Mega tien 64bytes de buffer, y cada una de las estructuras de las sentencias nmea es más larga que ese buffer, así que o le da maxima importancia a la lectura, o tendrá perdidas de datos.
Como tercera complejidad que veo, es el hecho de que dos gps de uso doméstico no van a dar el mismo dato por muy cerca que estén, con lo que si quieres eliminar sentencias RMC y GGA o bien eliminas una de las dos que te entren al azar, o haces media de ambas, pero iguales no van a ser.
Lamento no ayudar mucho, pero como digo no conozco arduino en profundidad, y no he trabajado con GPS en él. Solo me limito a adelantarte problemas para que no te des con esos muros cuando lleguen, y los veas venir de lejos ![]()