So I need to change all 8 bits simultaneously
That's physically not possible on the smaller Arduinos.
But also it's shouldn't be necessary I would think, the data doesn't usually have to be presented simultaneously because it's clocked in after it's stable.
So I think that needs to be addressed before changing your code.
Do you have a schematic?
What Arduino are you using?
Rob