JS — Хранение данных в html-странице — на сколько правильно?
вы можете сгенирировать скрипт вида:<script>
    window.varibleName = {yourData: 'foo'};
</script>
тогда из обработчиков будет доступ к window.varibleName
Хранить прямо текстом в div'е как минимум менее удобно, да и плюсов в этом нет.
Еще как вариант, что-то можно хранить в data-атрибутах
Если данные нужны между перезагрузками - используйте localStorage
Нисколько не правильно. 
Используйте redux, в самом крайнем случае и local storage сойдет.