It seems like a C API is a much better choice if you want your library to be callable from many different languages. What is a reasonable alternative without giving that up?
Which Khronos finally adopted as SPIR, but the drivers aren't there yet.
Regarding the other Khronos APIs, a C API is like being stuck in a PDP-11 world.
Many mix the idea of C API with OS ABI, it only happens to be the same if the OS APIs are exposed as plain C.
There many cases where this isn't like it, e.g. mainframes, mobile OSes, and most userspace on OS X (Obj-C runtime) and Windows (.NET and COM).
Yes driver support is a bit lacking, although I hop that I can convince the OpenCL working group of the need to get a backend (such as https://github.com/thewilsonator/llvm-target-spirv) into mainline LLVM so that writing drivers becomes easier for vendors.