Как узнать скорость подключения клиента к сайту и дать соответствующий контент?
Подход считаю неверным. Канал может быть и шустрым, но с платным и дорогим для пользователя трафиком. Как вариант, дайте пользователю минимальную версию и позвольте ему самому решить, надо ли ему какие-то плюшки в более высоком качестве.
задача вообще широкая
с переменным успехом решают ребята типа Akamai  
из бюджетно-доступного посмотрите на cloudflare
помимо банального CDN  используются различные стили + подгрузка контента в фоне