Online shops are good, but you need to have a unique product, or you choose which product has many merchants, that means there is really a demand for that product or service... But not all the time there is someone that will purchase your product, so that means there are times that you won't be earning... I think, along with online shop, you should have a day job, and earn your regular salary there and just buy bitcoin out of it...
all your suggestion help but what makes a business like an online shop successful is the owner and how he advertises his shop.
for example you can sell a very ordinary set of goods in your shop and things that others are selling too, but you can give promotions, advertise, give nice discounts, and lots of other customer attracting techniques and make your business more successful than any other similar competition.
It is true that until you dont give discounts and offers in your online shop no other users will come and buy goods from your site because their should be some reason for the buyer to come to your site and purchase if not why would they try to come to your site.
That is why the most of the online shops are giving lot of offers and discounts on each occasions so that users utilize that offer and purchase from that site.