I've always felt that when dealing with hard real-time requirements, the real-time functionality should be offloaded to a separate dedicated processor that acts as a buffer.
As another option, it would be nice if modern OS's could dedicate cores on multi-core systems to specific real-time processes. Then the OS can still do whatever it needs, while the real-time process gets guaranteed CPU treatment.