I had a similar idea. I decided to write a program that calculates the OPRs, and for each match score I simply add 20/25 for breach/capture. Here are some results:
Code:
GTRE
# Old New(cap+breach)
2056 77.16 99.25
1114 57.41 73.32
118 56.85 69.96
2013 48.66 66.19
1241 46.11 58.63
610 43.7 60.95
1305 36.43 47.19
5807 34.76 43.8
4476 33.27 45.98
3117 32.88 39.04
5596 32.78 40.99
4618 31.23 42.07
1547 30.39 37.5
296 30.38 42.91
5031 30.12 38.59
5036 29.24 34.46
4783 27.57 37.13
4976 27.33 39.1
4732 25.61 31.4
1325 25.3 32.7
2634 24.64 28.16
4939 23.83 21.89
2935 23.51 27.61
2340 22.82 22.18
4308 22.8 25.2
1285 22.79 30.11
6125 22.72 23.46
2228 22.33 27.98
4704 22.14 28.82
746 22.04 29.9
4525 21.7 20.95
2185 18.55 22.47
4248 18.17 23.21
4343 17.75 21.06
1075 17.18 20.06
3710 16.59 15.24
5580 15.94 14.99
6141 15.38 12.72
5428 13.33 13.04
4252 13.23 18.36
4015 11.12 13.24
6140 11.04 6.14
6046 10.69 9.15
1246 9.98 8.54
6070 9.52 10.16
2198 9.45 12.64
3541 9.37 8.04
5076 6.43 5.78
5094 -0.51 -5.58
My code also removes foul points by default, but I included them here so that it is more comparable to The Blue Alliance's data.