Decoupling data fetching from processing and publishing
If the data rate out of the sensor is only 1kHz, then there should be enough time to interleave the shared memory -  ‘simultaneous’ is unnecessary and only serves to confuse your view of the solution. eg: if it takes 100us to extract three axes of data, then that leaves 900us for something else to retrieve the data.
As for your other challenge of buffering the data, if you choose your hardware carefully, the spi sampling could be done via dma or with the likes of a beaglebone black, the PRU coprocessor thus relieving Linux of handling hard real time.