Our IPS says something to the effect of rebalance once per year, and only if at least one fund is more than 10% away from its target allocation. We shoot for 80-20, so what we mean by that is if the total bond fund is outside of the 18-22 range, we'll rebalance.
If you are going to rebalance with purchases, it is pretty simple -
1. you add the contribution + all existing balances.
2. Then multiply 1 by your percentage for each fund. This is how much money each fund should have after you've made your contribution.
3. Then subtract the actual balance of each fund from its desired balance from step 2. This is how much, in dollars, you should "buy" of that fund with the contribution.
4. If step 3 is negative, that's how much you should sell of that fund.
Even if you do this, it is unlikely you'll get the exact price on each fund that you did the computation with, so you'll always be off by a little. With mutual funds, you're computing using previous day's NAV, but you can only buy at the NAV at market close today. With ETFs, some amount of time will go by, so the price will move a bit on you. But it doesn't have to be perfect - if you wind up 79-21 instead of 80-20, that's a non-issue for this sort of thing.