Clearing the Serial Buffer?

Slappy:
If, for example, I receive 's' but not 'n' immediately after I may deduce that whatever data follows the initial 's' will completely useless.

Again, whether or not you think it is useless, the sending device will keep sending the rest of the packet. You can't stop that, short of arranging for it to be powered off mid-stream.

Also, keep in mind this ... Say there is some line noise, which happens to be an 's'. So you find an 's' which is the noise, followed by 's' 'n' 'p' which is VALID for the next packet. By discarding everything, you actually discarded a valid packet!

You really want a state machine. Find an 's'. OK, move onto next state. If you now get an 'n', move onto the next state. Ditto for 'p'. If something goes wrong, just go back to the first state.