I feel like there's room for "C, but with less jank" without getting in to "better C" (Rust, Go, D, C++?).
Have (un)int{n}_t be the primitive types, instead of long/short and guessing what they mean. Integer promotion rules that make sense (what insanity it is that short+short=>short, short+lit=>short, but short+lit+short=>int).