Suggest you might like to read this entry regarding "change":
https://en.bitcoin.it/wiki/Changeand also this one, it explains why change happens... and why you can't just send "exact" amounts of BTC in a transaction:
https://en.bitcoin.it/wiki/Coin_analogyThe disadvantage is that I pay the fee for every re-allocation, right? For one allocation this may not be much, but it sums up, what do you think?
No... you don't pay a fee for every "re-allocation"... you pay a fee "per transacion". Because you're sending the transaction anyway, the overhead for including the "change" output is only 34 bytes... which doesn't really alter the transaction fee by that much in the grand scheme of things.
Worst case is moving from a 192 byte transaction (1 input + 1 output) to a 226 byte (1 input + 2 output) transaction... that would increase the fee by around 18%... but if you have any more inputs or outputs, and that percentage drops pretty quickly.