Reference compression is interesting... technically, this type of compression should be possible without a reference. E.g. in a worst case scenario, you do a genome assembly from the reads, and then compress against that reference.
Fascinating to think that in principle, genome assembly and fastq file compression have many parallels, and are essentially the same problem. For example, once you assemble the genome, you can just track the coordinates and 'diff' for each read and the original FASTQ file can be regenerated exactly.