Quite a few good ideas, thanks!
As for accuracy etc, most charging chips have a current accuracy of around 10% in the first place so it isn't that important.
I could always add a tiny trimmer or try to calibrate it in software....
For the resistance range, with LTC1733, Max charge is 1.5A, 1kOhm, and 100mA requires 15kOhm. So while a 100mA step between 1.5A and 1.4A is just a 71ohm difference, between 200mA and 100mA its 7500ohms.
I was thinking 100mA steps or so, so while resistor network would be okay for a single channel, it would get really ugly pretty fast with multiples.
The BJT transistor solution would be the cheapest, but also require constant interaction and monitoring from the MCU... Not impossible, but a glitch could potentially set the resistance too low which would max the charging current... very dangerous with the smaller LiPos...
Digipot seems like the safest bet, and they don't seem to be that expensive either...
The basic 10k 8bit 20% would be too inaccurate (~40ohms/step + wiper resistance) on the highest charging rates though...
Then again, maybe it could be calibrated somehow ?
Well, gotta think about this and research these some more.
And the budget right now is rather high, as there really are no commercial options to buy and the gentler charge on the LiPos would pay itself eventually.
I've heard of people getting less than 10 charges with the USB craps before they got puffed lipos.
If a single charging channel would cost $20, then I'll just make three of them instead of six.