And changing them at every new payment and then throwing them away forever makes me feel like a huge bitcoin-addresses-waster
Note that the protocol doesn't really deal with addresses - it deals with outputs. Addresses exist to make things easier for us to read and understand. When you choose which coins to spend in a transaction, although you might pick an address, the protocol is looking at the previous transaction hash and output index. When you send coins to an address, the protocol is actually dealing with the locking script. Therefore, it makes no difference if you use the same address 1000 times or if you use 1000 different addresses. The fees you pay will be the same, the size of your transactions will be the same, and the amount of data you create on the blockchain will be the same.
(although I know there can be 2^160 addreeses).
It's actually much more than 2
160, once you consider all the different address types.