Well... The way I see it, balancing options are:
1. One last life for everyone, battle style. I.e. either you defend with what you have or you kill all defenders and capture the flag. This lasts while there is at least one member from each side in flag area with 2-3 seconds cooldown. If those seconds pass and noone from other team comes - the remaining guys at flag win.
2. Make the weight of defenders and attackers equal during end time (but only during end time). I.e. if there are 10 attackers and 10 defenders, all shielders with no weapons hugging flag - if will not move. If one of the participants gets kicked to death - flag starts lowering/rising (speed proportional to difference).
3. Givent that one of the above is implemented - flag lowering/rising speed could be modified based on the extra time passed. I.e. 2x after 30 seconds, 3x after 60 seconds.
Can't think of more, but I'm sure my poor head is not the best at this balancing thing...