I haven't run across a C compiler that defaults to signed char in a looong time. It's time to discard signed char so people can write portable V by default. Use signed char if and when it is needed.
I bet a lot of existing C code will break if one sets char to signed with a compiler switch.
Anybody reviewing C code and sees just char will have to waste time wondering if the code handles the implementation-defined signed-ness correctly.
And yes, I know about stdint.h, a poor attempt to deal with this problem.