I'll be brief, suppose this case:
Bob wants to send 10 USD to Alice. (2.2 mBTC)
Bitcoin Core estimates fee in 2.5mBTC/kB to be confirmed in the next 2 blocks. (That is 3.80 USD for 300 bytes).
As fee is more than 10% of the sent amount, Bitcoin Core should choose a lower fee for this single transaction.
Bitcoin Core chooses the 11 block fee, that is 0.6mBTC/kB to be confirmed in the next 11 blocks (That is 0.93 USD for 300 bytes).
Bitcoin Core displays a warning to Bob explaining the situation.
Bob pays lower transaction fee (9% fee Vs 38% fee). Bob is happy.
This should be the default behaviour, the user can later change the fee if he wants to.
TL;DR: Make Bitcoin Core aware of the amount sent and lower the fees if it is more than 10% of sent amount.
I'll be brief, suppose this case:
Bob wants to send 10 USD to Alice. (2.2 mBTC)
Bitcoin Core estimates fee in 2.5mBTC/kB to be confirmed in the next 2 blocks. (That is 3.80 USD for 300 bytes).
As fee is more than 10% of the sent amount, Bitcoin Core should choose a lower fee for this single transaction.
Bitcoin Core chooses the 11 block fee, that is 0.6mBTC/kB to be confirmed in the next 11 blocks (That is 0.93 USD for 300 bytes).
Bitcoin Core displays a warning to Bob explaining the situation.
Bob pays lower transaction fee (9% fee Vs 38% fee). Bob is happy.
This should be the default behaviour, the user can later change the fee if he wants to.
TL;DR: Make Bitcoin Core aware of the amount sent and lower the fees if it is more than 10% of sent amount.