How to make a zeros and ones counter?
Examining the LSB, classifying it as 0 or 1, then shift right one and on to the next bit sounds like a reasonable strategy.  It's not clear what exactly you are stuck on, but your basic approach makes sense.

Another way to do this if speed were very important is to use the 8 bits as a index into a table, which then tells you explicitly how many 0s and how many 1s in the byte.  Actually, it only needs to tell you one of them.  The other is 8-N.