C doesn't need saving, it will continue to survive on its own and even flourish in niches for decades to come. So will "Java"Script. Worse is Better, respectfully, or at least Old and Simple is Tough as F, living long and prosper. See, C doesn't need you but we need C, apparently for the foreseeable future.
Rust is the new black and it will supplant C/C++ and almost everything else short of virtual machine languages like Java/C#.
Especially more relevant when going with microservices, microkernels, serverless, static linking (and still have plugins),...
I'm not sure about the others, but COM is an ABI. There's a bunch of stuff surrounding it that is RPC-like but the core specification is just binary layouts and calling conventions. It's arguably more cross-language than the C ABI since it lets you generate type-safe bindings for any language, unlike in the latter where you need to parse header files.
> You could have an RPC protocol be your only interface to the OS, and that would be a valid design, but would have a performance cost
Maybe it would, but I doubt anybody would notice. The whole "everything is a file" concept on unix is basically just this (also X11/Wayland).