Да, приходится свежеполученные данные принудительно превращать в unicode, нередко при этом пользуясь тормозным chardet. Увы, пока лучше вариантов не нашел.
Вам просили передать, что по RFC 2616 (HTTP 1.1) кодировка контента по умолчанию — ISO8859-1 a.k.a. Latin1. Так что библиотечка всё делает правильно, и питон всё делает правильно, а виноваты вебмастеры, не объявляющие кодировку своих страниц. И частично писатели стандарта, выбравшие «плохую» кодировку.
LXML — проблемы с кодировкой при парсинге HTML