Driving two 7-segment displays with a single shift register and BJT transistors
You can simply bring the segment outputs low, switch the digit, wait a bit for the cathode drivers to settle if necessary (a couple microseconds is probably enough) then correct the segment outputs for that digit. That will eliminate "ghosting". 

With the HC595 that means more bytes being shifted out. 

You should use 7 resistors not one. One in series with each segment output, and lose the 470 ohm resistors.