Why not something akin to "fixed-offset cursor"? Actual cursor/pointer is always a centimeter above the finger position (thus always visible [bottom of the screen to be handled as a special case]), and finger movements manipulate position, while hold duration accesses alternate modes.
For a somewhat similar implementation (touchscreen is essentially handled as touchpad) look at how Teamviewer handles remote sessions to Windows desktop from smartphones.
I would really like any/all of those as a toggle-on mode for use on Android itself... selecting text with arthritis fingers is a pain – literally and figuratively.