problem with SoftwareSerial and servo libraries

The current SoftwareSerial library doesn't use timer 2 (it doesn't use any timer) and Servo uses timer 1 (and not 2), so the solution presented in the adafruit forum won't work. Do you use the IDE 1.0.1?

You say the single line of "ss.begin(9600);" is enough for the Servo to go wild? Is this only if the GPS is attached or also without the GPS? The ss.begin() method installs a pin change interrupt for the reception pin you specified. This interrupt routine is called every time an edge is detected on that pin. The routine is controlling the processor for the whole time a byte needs to be transferred. So if you have a busy serial line attached your processor is doing almost nothing else than receiving bits on that line. Try to change to the hardware serial because there the hardware is handling all that stuff interrupting the processor only for a very short time to store the received byte in the buffer.