I think the only way to compete with online shopping and with Wal-Mart, is with an experience that goes beyond efficient commerce. Some people, some of the time, will gravitate toward an authentic in-person social environment that is interesting overall, and which happens to include interesting shops.
This also tends to make the place more interesting for tourists, which at least up to a point can have a beneficial impact