I've dealt with this two ways, manually modify the shiftin/out library adding nop's in assembler to create a delay, or a better option is to bit bang the routines manually. This way you have complete control of the timing. Examples here
http://www.melabs.com/resources/samples/pbc/shift.bas
Bookmarks