For instance I think the first 10 bits when converted from GCR to regular bytes, result in the number 7. (why actually??) Also the last 20 bits are afaik normally "01010010100101001010" resulting in two 0's. This could help you align the the bit stream in case there was a missing or extra bit somewhere. (If this is in fact the case???)
Finally you also know that only 16 of the 32 GCR-combinations are valid, also helping you to identify where the problem might be.
The basic idea is to read the raw GCR-data many times, and on corrupted sectors you often get different results. Then I plan to somehow analyze the bit streams I get, and see what I can figure out.
When you have identified where in the bit stream the problem is, my thoughts was, that you might be able to do something about it? I havn't worked any further on this, but at least you got the super efficient xor-checksum of the 256 bytes to go on!! ;-P I know there are lot of situations where there is nothing to be done, but I guess there still are many disks which are just a little bit corrupted, so it would be possible to recover it!?!
how about creating different d64s of the possible "solutions" and then trying them all out :) this could be automated with extra efforts (is there cpu jam after certain amount of cycles..)
the basic problem is, there is no way to figure out where in the bitstream the problem is (except for determining illegal gcr data), and there is no way to check wether the decoded data is correct (that xor checksum is totally useless)