There's a TODO in the code at the moment about whether or not the editmyoptions user right (description: "Edit your own preferences") is sufficient for global prefs. I think it is, but I wanted to just see if there was anything that I'm not considering, before removing the todo.
Editing that user right is the recommended way to disable user preferences.
Is there some weird situation in which a site would want to disable local preference editing, but keep global enabled? Surely they'd just share the user_properties table then?