You could use multi cycle paths so this doesn't limit your global timing. Then you would save the registers. This is much more useful for ASIC design, because on an FPGA the registers are there whether you use them or not.
However total latency will be lower than a pipe-lined version which is nice if that's what your optimizing for.