Having spent years designing Li battery packs for solar race cars, I am in complete agreement with NANDBlog. In fact, for the last several months, I am
working on how to balance 4 sets of 44 packs of each 7 cells for our new car. It is VERY tricky. As NANDo says, the bast place to do the balancing is at either
the bottom roll-off curve or the top sharp roll-up curve. You only have 2-3% to play with, but at least you'll be pretty close.
Our method, with a fresh start, is to tie ALL cells in parallel, then run at least 2-3 TOP and BOTTOM balances (using a fooking big variac and bridge :-) ) 100s AMPS,
then make up the pack.
If the pack is assembled, or even if not, the best method I find id to bring up ALL cells in series and as each cell reaches 4.20 (with 4.25V being max for example),
to shunt the charge current from that cell (ie stop it gaining any more energy). Once they are all at say 4.20V, you can be pretty sure that you are within 0.5 - 1.0 %
or better. This is actually way better than bottom balancing, as all sorts of shit happens down there :-)
Once you have a balanced pack, you should always use total E calculations to determine the state of charge. (and limit current accordingly).
A design I'm currently working on, for only a few series packs, has to be balanced on the long FLAT part of the curve, and it is very tough to get right.
I have to use isolated step-up converters to move current between packs, but that's another story :-)
Balancing along the flat part of the curve, even up to 0.5V variation is near impossible, IF you want to be within a few%