I also see a problem with the opening and closing of the different channels for each shop you buy at
It's much cheaper just to leave it open as long as possible (channels can be left open permanently)
this would incentivize opening a channel on a big merchant and always buy there (say amazon starts accepting LN payments, then most people would go there always and not give a chance to the smaller merchants just to save the money from opening a channel on other online shops). This would make it even worse for them.
You don't need a Lightning channel for every person or store you send to. Money can be routed across multiple channels, so as long as the overall network is well connected, there's not much advantage to who you open a channel with. It's probably better to open channels with more neutral intermediate channel operators, they'll almost certainly try to gain some advantage from opening channels directly with big businesses (that's not going to be an easy business to be in when the barrier to entry is so low)
Can you describe it with a practical example?
For example, I want to buy something in Amazon using LN. Where do I connect to, to a random channel or directly to Amazon? how do I know if I connect a certain channel it will re-route to Amazon and other places?
And lets say I also want to buy in some other less known independent website that accepts LN payments... how do I get this routed around by only opening my channel once?
Also, once the funds go to 0 because I spend all them, the channel remains open and I can make another on-chain transaction and fill the channel again?
Im not sure about this... it would force me to make transactions as big as possible, even if I want to buy something worth $40, depending on how crowded the mempool is, I may consume a big chunk of these $40 in fees... and I don't feel confident having big sums of money outside of my cold storage, I would like to get out only what im going to spend but I dont see a clear solution to this, LN forces you to fill a decent amount, like $500 with current fees I guess would be a decent amount to spend on smaller purchases and would last for a while until you need to refill again.