Можно ли как-то изолировать стили html-блока, который будет встраиваться на другие сайты?
CSS нельзя изолировать, по этому лучшее решение - namespace. Это добавит уникальности стилям и не придется писать не нужный important везде..my_moudule_namespace--class_name {
    ...
}
Учтите так же тот случай, что вам, на всякий случай, придется прописать некоторые дефолтные значения заново. Так как сайт может их изменить. Например размер шрифтов, цвета ссылок, отступы по умолчанию и т.п.
Уникальные id и class. Вряд ли Вы найдете лучшее решение