Есть простейшее решение - прогрессивные штрафы. Пока челик, зарабатывающий 50K в сутки, платит 1 000 рублей штрафа каждый день, ему это глубоко безразлично. А вот если бы ему выписали штраф в 49K, вопрос с его ежедневными нарушениями решился бы сам собой.
Не только.
Сама проблема кроется в самой архитектуре процессора, по хорошему нужна разработка новой архитектуры процессора. Многие подходы тянутся со времён самых первых процессоров с целью совместимости прежнего ПО в этом и кроются все подводные камни. Например стек, удобный вроде бы подход к записи динамических данных, вызовов процедур и возврат обратно, но он может замереть данные или код программы при плоской памяти и даже если его организовывать в отдельной странице за выход которой будет вызывать панику ядра. Да и другие подходы тоже с проблемами, та же куча, прерывания. Разные виды режимов, хоть они и дают некую иллюзию защищённости изоляции процессов друг от друга в конечном итоге приводит к коллапсу системы.