Two key things: the first is enforcement. You need somebody to be the bad guy. Second is to make doing things the right way easier than doing them the wrong way. If they have to work hard to do things wrong its much easier to sell management on the principle.
ANd in my opinion Tool Palettes and or custom Ribbon Panels are the easiest way to get there.
Palettes may appear 'old school' to some, yet they are the easiest to set up and control, and get people to use. From experience, easy to use, will get used.
Trying to add reactors, or cleanup routines to fix what is already wrong, is treating the symptoms, not the cause.
Palettes remove the cause...and some cad lessons also go along way towards standards enforcement.
Also from experience, sometimes users do what they do simply because they don't know any better...so we must educate them to get better compliance.
Trying to this in the background with LISP or other coding methods, will not have the same level of success, will create more work trying to code around their deficiencies.
As they say, talent has limits, yet stupid has no boundaries.