My two cents... el desnivel lo tienen, por lo menos en los relojes con barómetro, con lo que pueden y deben considerarlo. Pero por supuesto el terreno es algo que no pueden controlar. Yo diría que lo que hacen es usar tramos "fáciles" en el cálculo y descartar los que se salgan mucho del rango esperado de rendimiento.
Yo diría que es algo que ya hacen en el algoritmo para asfalto. Runalyze estima el VO2Max también pero, aparte de una diferencia de varios puntos con respecto a Garmin, un efecto que he notado es que penaliza mucho las actividades que tienen una parte andando o parado (p.e. series). Garmin en cambio no se ve afectado por estas pausas.
Una opción interesante (que tiene Runalyze) sería permitirte quitar actividades concretas del cálculo de VO2Max, en lugar de activarlo o desactivarlo en general... no todas las actividades de trail son iguales.
MMP 3K: 13'16" (Test 14.11.2020)
MMP 5K: 23'09" (Test 27.12.2020), 23'19" (1ª Carrera Costa Rincón 08.05.2022)
MMP 10K: 47'21" (Test 13.06.2021), 47'34" (C10K Vélez Málaga 24.04.2022)
MMP MM: 1h47'31" (Test 13.09.2020), 1h58'33" (MM Málaga 13.11.2022)