При первом заходе пользователя генерируете id и распихиваете его по разным хранилищам (cookie, localStorage, css history и т.п.). При повторном заходе собираете все id и смотрите, каких значений больше. Перезаписываете самое частое значение по всем хранилищам.
Если пользователь прошаренный, он этот способ обойдет. Если не прошаренный или цена вопроса невелика, никто не будет запариваться с обходом этой "системы".
Можно добавить checkbox перед элементом со светом и прописать .myCheckbox:checked + .light {...} Но тогда придется отдельно разбираться со стилизацией переключателя.