型って、論理的にすればするほど分かりにくくなる傾向があるから、
色々仕方無いんじゃないの?関数型言語はともかく、Cみたいな言語では、
typedef int (*pf)(void);
typedef int (*)(void) pf;
の2候補よりいい方法って思い付かんよ。