I've solved the problem, which has to do with the generating function for 'k'.
For example:
- k = -108t^2 + 36t - 67 always has even parity
- k = -108t^2 + 36t - 7 always has odd parity
- k = -108t^2 + 36t - 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.