Почитайте что такое Event Sourcing. Вообще если убрать подписи, шифрование ипр(а это в плане серверных приложений и не надо), ничего кроме evet sourcing не останется
Вы можите хранить userId прямо в токене, ну и это все должно быть подписано, сессий вообще не нужно. Получать userId из токена, для этого есть готовые решения. А как Вы будете передавать токен(куки, хэдеры и пр) это Ваше личное дело.
Добавить пустой js файл, который будет обрабатывать backend, если было обращение к этому файлу от юзера - все ок, если нет - бот. только нужно что бы у всех юзеров обновилась страница. Боты обычно не браузерные, а консольные и не вытягивают полную страницу сайта, а на прямую обращаются к API.