The question is rather controversial. One thing can't satisfy everybody 'cause all people are unique and have their preferences, goals, visions, strategies, etc. Before selecting the exchange, I look at its security measures and verify wether it supports buying crypto for USD or other fiat money. CEX has this option:
https://cex.io/btc-usd. I think you could follow mjglqw's advice in case you're looking for similar things.