Don't pick him into ranged champions such as Ryze, Vayne, Teemo, or Quinn. They will kite you, and you will either die or get zoned out.
Currently, Ryze has no counter 1 v 1. You can play some early game bully such as Pantheon and co-ordinate a gank with your jungler to stop him from snow balling. Ryze's early game is amazing, and his late game even better. However, he does need time to ramp up his damage. During that period, he is vulnerable, but it is difficult for any one champion alone to kill him during that time, so ask help from your team mates.
Vayne, Teemo, and Quinn pretty much counters all melee lanes top because they can ignore your damage. Champions with gap closers and equally powerful damage mitigation tools such as Jax and Wukong can do pretty well against them. Yasuo top is good against any ranged top champions. Or you can try Hecarim/Riven/Irelia who can catch up to these champions, Gnar who can some what trade back, or an AP top laners such as Rumble who also have range..
A good Tryndamere or Aatrox can also cause some trouble to Garen. However, these are mostly skill match ups. Just don't fight Tryndamere when he uses his mocking shout on you, and don't let Aatrox heal up for free with his autos, engage him.
Likewise, good early game champions such as Riven, Darius, or Renekton can also shut down Garen. Against Riven, remember to not over lap your Q and W, and never fight her after 6 without W. Try to out sustain her. Against Darius, you need to go aggressive at level 2 as Garen, or you can counter him with a ranged champion. Renekton has pretty much no counters early game. He does fall off immensely, so just don't feed him in lane.