I'm a firm believer in the single custom field group approach, but it can be irritating that, when adding a custom field to a shared custom field group, all publish layouts automatically display that custom field. Have you found any techniques/addons to solve this?
Short of writing an extension to override the default setting of making fields visible you would need to go with your core hack.
You have to think about it from the standpoint of how most users use EE under normal circumstances. Most people would create a field for a particular channel and be happy that it is now showing up in the publish section. The same goes for something like the disable parameter in the channel entries tag and similar. It makes more sense (IMO) to have an enable parameter and only enable the things that I need per tag element. The likely hood of that happening though is going to be pretty slim though if for nothing else then backwards compatibility reasons.