How about that:
-
First of all give the 3dCursor a Gizmo to manipulate it directly.
-
Second step. Give the 3dCursor a mode to interactively set itself to the current pivot point.
-
Assume Pivot Point is set to Median Point
-
The cursor remains constant if the selection is constant but it is editable in this mode eg with the gizmo.
-
It changes to the new median point if the selection changes.
-
Give this setup a single toggle button.
Edit: Some point was unclear with my proposal. I wrote that pivot point is set to median point. That’s meant for placing the 3dCursor. The “final” pivot point itself is the 3dCursor