Why should Comcast provide transit at a a reasonable price to Cogent when Cogent hosts data that competes with Comcast's own services? Their uneven traffic argument is a relic of the telephone era -- Comcast's customers pay them for 20 Mbps of bandwidth to services they want, but what they get is just 20 Mbps to speedtest.net. It should be on Comcast to ensure their network can get their customers the data they want.
Sonic and Google Fiber manage it fine. This is clearly a case of Comcast trying to get paid from both ends and screwing their customer with poor access to the services they want in the meantime, which conveniently nudges their customers to their own competing services.
Cogent has been trying to upgrade their connection to Comcast and Comcast has been stalling working with Cogent for months. It's pretty clear cut in this case. A rule when the CDN and the ISP already have a direct connection is not overly unreasonable. Comcast customers are requesting a large amount of data from Cogent, Cogent tries to work with Comcast to improve the existing connection, Comcast refuses.