We're so byte-oriented now that we forget that so many earlier computers had different length data words; there's also no standard definition for "byte". For example, in network documentation (RFCs) the term for 8-bit words is "octet".
Refer to the ICD-GPS-200c document for the format of the data pages in the subframes of the messages transmitted by the satellites -- also for the use of that data and how all that works. You've got short groupings of bits with parity bits and other bits interspersed. There's no such thing as contiguous bytes (ie, octets) in that format.
Also, there's a lot of data being transmitted in a low-power signal. For the entire message, all 5 subframes, to be transmitted from one satellite takes about 12 minutes. Having extra bits in those messages that serve no purpose would slow things down even more.
Gotta rush to the next class now.