Whilst I sort-of agree, it has been argued before by the scala team (
https://issues.scala-lang.org/browse/SI-5697) that serial IDs are not part of binary compatibility. Also note that for any non-trivial scala project which uses serialization, then doing a) is pretty useless unless all library dependencies (which include serialized classes) also follow this route. For example, if I'm using akka, an ActorRef is serializable (see SerializedActorRef at
https://github.com/akka/akka/blob/master/akka-actor/src/main/scala/akka/actor/ActorRef.scala): they may have to do exactly the same.
It seems unlikely that all my dependencies are going to run your "fixer" on their codebase, so it's really unlikely that my non-trivial scala project is actually going to end up being really binary+serialization-compatible for 2.11.1.
Given this is the case, if I was you, I would be tempted to say "binary compatibility does not include serialization ID guarantees" (and then run away)
Chris