4: GPS speed and position estimates oscillations. If GPS accuracy is bad, you won't get stable flight. Less than 1 m/s speed accurracy (SACC in GPS_INT message) is good enough.
5: HFF filter: so far I haven't been able to find tuning that filter efficiently GPS errors. Note: if you remove it, the position and speed estimates will be sampled at 4 Hz (GPS frequency). This causes spikes in position error (reference - estimates) as a result, the horizontal loop output, the attitude setpoint show the same spikes... So the HFF filter helps...
Sorry, I may have been completly off topic, but your problem reminded me something that i already experienced, so i thought it would be nice to share...
Regards
Loïc