That's not as black and white as it seems. An implementation of a compression algorithm is typically a particular library written in a particular computer language. A specification of a compression algorithm is typically described in a specification document such as an RFC. We don't call an RFC an implementation.
What is patented is a method of compressing data using algorithm X. If you can thing of something else which wouldn't be considered compressing data using algorithm X, then you're free to use algorithm X for this new and inventive purpose.
Now you're nitpicking. The only reason I mentioned RPC's is as an well-known example of a specification, to contrast that with a concrete implementation.
My point is that an algorithm is more general than any particular implementation. They aren't concrete. They're abstract. (And of course if patents only covered one concrete implementation then nobody would bother getting them.)
I don't think it's nitpicky. Often the bulk of the work is implementing a given algorithm efficiently, instead of just writing a formal paper with lots of hand-wavy "a sufficiently smart compiler..."