Rust, Pony, Crystal, Go, Elixir, Haskell, OCaml, Lisp, Clojure have their merits to address most of C's shortcomings, offer much higher levels of abstraction (productivity) and provide these features that didn't yet exist when C grew up. Languages were mostly built bottom-up.
But really, C is often used as a portable-ish lingua franca, along with similar but different: JVM bytecode and LLVM IR, for writing nearer to bare metal (native assembly or runtime).