Honestly, I'd say try out a bunch of champions and see which you like best. In my opinion, there are no "bad" champions. Only "bad" players. Meaning that it takes a lot of practice to get good at a number of champions. Some have a higher learning curve than others. A viable main basically means a champion you enjoy playing, and that you're good with. Also, as mentioned before, make sure you have at least a few champions ready for each role/lane, as indeed you might not always get the one you want.
Yes, you might get nasty comments from people because you pick a champion not commonly chosen (like Urgot), but whatever with that. If you're good with the champ you pick and in the role you pick, I'd say why not? Do it.
Like me picking Urgot a few times and dominating the lane. Last time was Urgot with a Supportplank (Gangplank support). We worked so well together. ^-^
Sometimes unusual picks work just as well as the standard picks. Sometimes even better. I remember being up against a Sion (reworked Sion) ADC with an Evelynn support. My word, that was monstrous. We got served. -chuckles- They definitely practiced that.
It's true that in ranked, rules for picks seem a bit more restrictive. So be sure to practice some more commonly picked champions as well. It's received better in most PvP on Summoner's Rift.
Every player in League has their own opinion on what works and what doesn't, what's good and what's bad...and actually all of them are correct in their own way. I'd advise you to form your own opinion and stick with what works best for you. ^-^ For example, one of my mains is Shen. I've read many varying opinions on Shen, but he works for me, so why not? I love playing as Shen, and I'm getting better at it every time. As an ADC, I often pick Varus, cuz I love to...and I'm pretty damn good with him, too. I know he isn't picked as much as Corki, Graves, Lucian, Vayne or Jinx, but who cares? Doesn't mean I can't.