I've solved the problem, which has to do with the generating function for 'k'.

For example:

- k = -108*t^2 + 36*t - 67 always has even parity
- k = -108*t^2 + 36*t - 7  always has odd parity
- k = -108*t^2 + 36*t - 84 is 50/50 odd and even

These, and other similar functions, generate nice groupings in residue
classes modulo 504 and explain the population distribution of odd and
even ranks in those residue classes.