I cannot send btc before my last transaction get confirmed I store all of my btc in one address (say from_address), and when I want to send any btc to any address (say to_address) I get a transaction like this:

INPUTS: from_address
OUTPUTS: to_address and from_address

See and example here: https://blockchain.info/tx/e0bcd29288deae6611337c75b8236a548926887796501486ffa3c486707d28c6

Now, I cannot send any BTC before this transaction is confirmed! and says "Insufficient Funds Available" (as I have all of my BTC in my from_address and it is unconfirmed!!)

Is there any tip to send BTC except this?
This will happen sometimes, and there's not much you can do about it. Much the same thing happens with cash. Say you have a $100 bill, and you want to pay me $10. In our transaction, the $100 will be split -- you'll get $90 back and I'll get $10. But while that's unfinished, you can't spend your $90 change from the transaction with me because it's not fully yours yet.

The exact mechanics will depend on what unspent outputs you have. If you only have a single output, then you will have no funds available until the transaction confirms. If you have multiple outputs and not all of them are needed for the transaction, then some of them will still be available before the transaction confirms.

Cash behaves the same way. If you have a $10 bill, a $50 bill, and a $100 bill, you can send someone $60 and still have the $100 bill available. Or you can send someone $65 out of the $100 bill and still have the $10 and the $50 available while that transaction is finalizing.