Unless PostgreSQL gets much closer to the hardware than the community consensus seems to support, I don't understand what you could do in the checkpoint phase that would improve on that. (That, of course, doesn't mean I'm not missing something, just that the arguments made so far haven't shown me that the suggested changes would do anything but move the problem around a little bit.)
If we can try out things like O_SYNC and/or O_DIRECT that will give us exact information about dirty pages that need be written to the disk at any given point in time. We can then use this information to design light weight checkpoints.