This prog is for my own use. Portability is not an issue for me. In my case -pady=>2 creates a Button smaller, -pady=>3 a Button bigger than an Optionmenu :). So this lazy unportable trial and error solution does not work for me. Now I may have to learn creating menus. At first sight it looks much more complicated (how to reproduce Optionmenu functionality with a Menubutton?). Also you seem to be limited to a single menu bar / main window (at the top). I have several control panels in my main window scattered all around the place.
Your sub-frame approach I fully appreciate. From my experience I have learned to put everything in void container frames (even in separate Toplevel windows which can be iconified). Every functional module in my prog gets a container frame to start with in the constructor which it can populate but knows nothing else about the world.