Fees aren't assigned to Bitcoin transactions, they're chosen by the user. Due to mining being privately operated, miners aim for whichever transaction will earn them the most profit - this is the transaction with the highest fees, as mining a block will result in the same reward of new Bitcoin for each miner plus the transaction fees for each transaction.
The confusion might come from dynamic fees - many wallets automatically customize the fees that are used to try and get your transaction confirmed in a reasonable amount of time. If you have the
Blockchain wallet for example, you can select the Advanced option during your transaction and customize your fees to get it confirmed faster.
It definitely isn't a percentage of the total though, because it's not about how much Bitcoin is being trasnsferred, it's about the size of the transaction
in bytes. Really large transactions do take up a lot of bytes, but if you were paying 0.000001 Bitcoin to someone you would have to pay a fee much higher than what you were sending because the transaction would still have a size.
There are no instances where people have been charged
BTC1 for transactions as far as I know as that would be over $1000. They could accidentally set their fees too high themselves, but that's extremely unlikely. Fees however are currently very high as there are too many transactions for the network to handle - this has resulted in debates about how scalable Bitcoin is and solutions such as
SegWit and
Bitcoin Unlimited.
EDIT: I've now seen where you got the
BTC2.5 fee from. This is a very unlikely mistake - you will nearly definitely be fine, especially if you don't have that much BTC.