I think you're perhaps under a misconception that C-u C-SPC
and C-x C-SPC
actually "pop" the mark rings, in the sense of shortening them. I say this because you write "if there are no remaining ones".
They do not. They cycle the mark rings. So continuing to pop the local mark ring will not eventually lead to it being empty, allowing your envisioned command to then move on to pop the global mark ring.
These two rings are separate primarily because they are used differently. The global ring gets you from buffer to buffer (only). The local rings move you around within individual buffers (only).
So my advice would be to not look for what you are looking for ;-). Or if you really want it, then define commands that actually do pop the rings, in the sense of removing markers.
FWIW, there are alternatives to these two commands, including commands that let you see the text associated with the markers and choose a destination using, e.g., completion.
In Icicles for instance, C-u C-SPC
combines marker cycling with setting the mark, as your intro sentence requests (but not as your title requests -- there are separate Icicles commands for cycling the local and global rings). Similarly, C-x C-SPC
does this for the global ring. In Icicle mode, by default, these keys are bound to multi-commands icicle-goto-marker-or-set-mark-command
and icicle-goto-global-marker-or-pop-global-mark
.