I like the idea of a header file with macros distributed with the kernel for providing basic syscall functions. Is there any reason that couldn't work?
It wouldn't be too hard to create (generate) a "libwrapsyscall" that just provided syscalls; if this is worth doing, it's worth doing properly.
http://www.robertgamble.net/2012/01/c11-generic-selections.html
I haven't taken the time to prototype an implementation, but it seems like at least some cases could be solved.