I usually hand wash doggie clothes with liquid detergent in cold water, anything that is really smelly with pee - like belly bands or the girls diapers when they are in heat - I let soak for at least a day in the soapy water.  This way the smell goes away (although I probably use too much detergent for the small bucket of water).  I haven't really experienced too much shrinkage, although I think it's almost impossible to avoid a little shrinkage when something is cotton.  If you are worried about shrinkage, just stretch the clothes out a little bit while they are still wet.  Hope this helps!