Why do you need to connect without daisy chaining?
The fastest and easiest way to update all your shift registers, using the existing simple Arduino tools, is to daisy chain.
In software, what you do is allocate an array of bytes, as many bytes as you have 595s. A single command will then shift the entire array out to all the 595s.
If one reason for not daisy chaining is that some 595s should not be updated, then simply load the corresponding byte with the old data, and that 595 will update to the same data, without any glitch. If you have different processes for different 595s, then simply alias their own pointers into the output buffer, each process can then update only its own bytes.
If you don't daisy chain, you will have to repeat the SPI byte out function for different pins, which consumes excess time, as well as excess pins.
Once the buffer transfer has been launched, it uses hardware, so is no extra load on the program. It would need to be a very large pipeline of 595s so that the latency through them became significant. Remember that if you drive all the latch pins in parallel, the outputs will all update at exactly the same time, regardless of their position down the pipeline.