I got the correct answer fairly easily, but I've worked with a lot of algorithms so I knew where to start.
In case some of you are interested, the way I figured it out is to first acknowledge the simple facts (the ones you probably realize but don't think about).
The most important fact here is that in order to gain any useful information, the number of balls on each end of the scale must be equal.
The straight-forward algorithm (which Descartes mentioned) is to start with 4v4, and simply divide until you get 1v1. I also tried this first, but was unimpressed with 3 iterations, and I sensed that there was some redundancy (if for no other reason, I realized questions asked like this aren't usually answered with the straight-forward approach, and the correct one would have to be more clever).
Since the number of balls on each end must be equal in order to get any useful information, the next algorithm I would try would simply be 3v3 instead of 4v4. The only way to get this is to "hold" two.. which I did, and once you get on this track it's pretty easy to figure out.