1. Грузим js-прелоадер
2. По его окончанию загрузки - ставим метку времени START
3. Грузим аяксом полезный контент: CSS или/и JS (размер всего загружаемого мы должны заранее знать: SIZE).
4. После загрузки - ставим метку времени STOP
5. Считаем пропускную способность: SIZE/(STOP-START)
6. На основе этих данных (+разрешение экрана, юзер-агента, возможности HTML5) определяем тип устройства: мобила/не мобила и продолжаем загрузку нужных ресурсов в зависимости от заранее заданной сетки условий.
7. Записываем это в куки/localstorage, чтобы потом не проделывать это при каждом обращении к новой странице сайта (до смены IP или до истечения 30 минут, например).
Вкратце, как-то так...