Starting point for a concrete proposal:
* Rename undo in simple.el to something descriptive.
** Perhaps undo-sequence or undo-branching?
* Create an alias or dispatcher undo that calls the renamed simple.el undo by default.
* Create a customize option (or similar) to allow the user to choose between the current simple.el undo method, the "undo/redo-only" method bindings, and perhaps undo-tree.
* Change the default action of C-z, at least in gui frames, to call the above undo rather than suspend frame.
** Also add a binding for C-Z (aka C-S-z) to call redo-only. I'm unsure if this should be bound to something else if the "simple.el undo" method is chosen, or if an alternative binding for C-Z would be better there.
* Add a user option to revert this change for C-z. I'm unclear if this is better implemented by changing the binding or by adding it as an option to the dispatcher concept above, perhaps something like "undo-or-suspend-frame".
I believe that people using emacs in a gui context tend to have a system-wide method for switching between active windows/applications, and they don't use the C-z binding for it. This is certainly true of the people I see today who don't use emacs, and was true of the new and non-new, non-expert emacs users I used to see often. It was usually true of expert emacs users that I knew personally that they rebound C-z.
This gets us an intuitive keybinding for gui computer users of various types that doesn't hide their window (when I used to work in user support way back when, we *frequently* found users surprised by "my emacs disappeared"), and it connects a very common keybinding (muscle memory for a vast body of users) to a familiar/powerful decision point for emacs.
The cost is the loss of suspend-frame on C-z, which seems most likely to be an issue for either people who are very capable of reverting it, and for people who are very used to the control-z behavior inside a tty. I have personally spent a *lot* of time using emacs in tty-only environments with C-z rebound, and preferred it that way. Anecdotally, people who spend a lot of time in emacs inside screen or tmux prefer to rebind C-z away from suspend, but of course tastes vary.
I'm sure there are issues with this, even setting aside the very strong small-c-conservatism of long-time emacs users on this list; what are they?