Как убрать смещение страницы влево при появлении полосы прокрутки?
При помощи calc(100vw - 100%) можно вычислить ширину скроллбара (а если он не отображается, то будет 0). Идея: при помощи отрицательного margin-right увеличить ширину  на эту ширину. При этом появляется горизонтальная полоса прокрутки — ее скрываем.html {
  overflow-x: hidden;
  margin-right: calc(-1 * (100vw - 100%));
}Пример. Нажатие кнопки "change min-height" скрывает\отображает скроллбар.
Без примера сказать сложно, но попробуйте overflow-x:hidden добавить к блоку.