[tt]keepaspectratio[/tt] serve solo se specifichi entrambi gli scalamenti mediante width=… e height=…; non serve a niente se ne specifichi una sola; il suo compito è quello di valutare quale sia il minore dei fattori di scala verticale e orizzontale e di usare quello per entrambi gli scalamenti; nel tuo caso è probabile che il fattore di scala orizzontale sia sempre il minore, quindi di fatto specificare height=.. non serve a niente e di conseguenza anche keepaspectratio diventa inutile.
Io non cercherei di usare sempre lo stesso comando per inserire tutte le figure grandi o piccole; ma lo farei consapevolmente per ciascuna figura al fine di ottenere risultati ottimali; eventualmente specificherei per tutte solo width=0.7\textwidth salvo, correggendo le bozze, modificare la larghezza specificata con un fattore moltiplicativo diverso da 0.7, oppure aggiungendo altre specifiche per figure dall’altezza e larghezze insolite.