Cómo podría evitar el throttling en Android?

Primero hay que tener en cuenta que los proveedores pueden tener sus propios esquemas de estrangulamiento si lo desean, por lo que algo que funciona para un proveedor no necesariamente funcionará para otro.

Un método que he visto para mejorar los efectos del estrangulamiento es distribuir las transferencias de datos a través de varias conexiones TCP. (Una conexión TCP es una conexión virtual que se utiliza para transferir archivos, entre otras cosas, y puede existir más de una a la vez entre el mismo cliente y el servidor). Por ejemplo, un programa de transferencia de archivos normalmente utiliza una conexión TCP, pero utilizando un software especial tanto en el cliente como en el servidor, se puede distribuir el tráfico entre varias conexiones TCP. El estrangulamiento suele consistir en establecer un límite de velocidad de transferencia en una conexión TCP, en lugar de considerar el total de un usuario. Así, por ejemplo, utilizando cinco conexiones TCP se acelerarían bastante las cosas.

Ahora tu pregunta se refiere a si un router puede hacer esto. Creo que el router puede mejorar la velocidad en algunos casos, pero está limitado por el hecho de que no puede cambiar el software que se utiliza en el servidor. Una cosa que podría hacer es acelerar los accesos a los sitios web. Si el navegador mantiene una conexión TCP abierta y realiza varias peticiones al servidor web en secuencia, el router podría dividirlo en varias conexiones TCP que trabajen en paralelo y obtener una ventaja de velocidad.

Si esto se puede hacer en algún caso concreto depende del protocolo particular. Sería el router lo suficientemente inteligente como para tomar una descarga de archivos y dividirla en trozos y descargarlos en paralelo? Posiblemente esto podría hacerse, pero dependería de las capacidades del software del servidor en particular.