EU is at least trying to do something about that. As of last year stores are required to display the cheapest price they've had for an item in the past three months when they have something on sale.
Not all stores comply, and of course they try to get around these by the usual shenanigans, like basically the same product being available from the manufacturer with two slightly different item codes.