Ok...what about investing in a little hand held steamer or one of the new steam cleaners and you can spot clean - there is a hand held one that I can't remember the name of -
The Green Machine I think ? it would be perfect for you if its only a few here and there...
Also - if you use a professional service.... they use SOAP - soap leaves a residue and will make stains set worse over time as it adheres to the carpet - Natural vinegar is what all the high end carpet people use and recommend - Stanley Steamer is great - but you end up calling them more and more cause carpets get much dirtier after the clean them only due to residue left from their cleaning products.
I'll stop here - can you tell I'm kind of in the business here ?