For me i can only tell you that you can't predict the transactions size before sending it .
But i can tell you how it somehow works ,
2 outputs= 0.0002 fees
4 outputs- 0.0004 fees
and so on , So far this method is the best one for me , Also if the transaction has only one output never put transaction fees lower then 0.0002 . Use blockchain.info new version it sets the fees automatically and mostly times the fees is perfect according to the size of transaction .