It's actually an awesome solution for binding mel scripts to a scene and declare global strings containing namespaces for the scene's content. Never had problems with it.
I can agree with running scriptjobs is not an ideal solution (in that they're a hassle to kill and they can slow things down even if they're not evaluated during playback) but linking mel procedures to scenes using scriptNodes is a very good solution. At least for keeping track of names when namespaces are involved.
Binding scripts to the gui is not the same as having it follow scene files (I'm assuming the reason for having it follow the scene file is because the mel procedures are context sensitive and is meant to work on stuff in that particular scene).
How would you implement a dynamic rmb menu so that it only exists in that scene? Having the scriptNode run a mel procedure that changes the menu? After Maya is launched? That doesn't work does it?
But yeah, you could have the namespace check procedure in the actual scripts that gets called through rmb marking menu entries, but that's a more permanent implementation.
That being said, I agree with Joojaa about running commands by attribute change is not a very intuitive approach. That's why I suggested selection trigger, as it is a more precise 'action'. But rmb command is probably even better in general for running commands.