Как решить проблему с кроссбраузерностью background?
В разных браузерах разная высота страницы, так как часть окна выделена под панель, высота панелей разная у разных браузеров, так что не вижу тут проблемы.
Я бы переверстал... 
Если сохранять как у тебя сверстано, то если правильно понял из ваших комментариев, то я бы сделал так... 
1. Поменял стили main
2. Отдал часть стилей main в container
3. Переделал картинку. (я не знаю зачем тебе столько снизу пространства...)
4. Поменял стили у img
https://jsfiddle.net/fest1val/p6k7agxm/