Maybe I've been lucky, but I've written plenty software that blindly shoots CSI's at the console and still haven't hit any snags. Especially convenient when the channel is unidirectional; curl ocv.me :)
See https://stackoverflow.com/questions/54838578/color-codes-for... for examples.
Even then it still leaves a lot to be desired. I'm not sure I can consider any of this to be truly reasonable.
https://github.com/kovidgoyal/kitty/issues/2773
https://github.com/kovidgoyal/kitty/issues/879
https://lists.gnu.org/archive/html/bug-ncurses/2018-09/msg00...
I have mixed feelings about this... Sometimes I feel young and reckless and want to just output whatever I need without checking $TERM. In practice, all modern terminal emulators are essentially xterm-256color compatible. If something breaks, the worse you get is some funny characters. Is that such a big deal? Much better than propagate the silly termcap/terminfo complexity.
By the way, xterm supports sixels since forever.