As I'm sure you know Garen is pretty darn good at setting up a zone around him that cannot be entered without being forced to trade with him. He can get ahead and keep people behind by abusing his zoning power.
The thing is he is really good against champions with low zoning potential because of this. Champions who match or beat him, however, just have to play his game. Most zone heavy champions scale well with experience, which completely matches Garen's other strength that keeps him from falling off later on.
You want someone who is either very good at hit and run trades where they don't have to fully commit and have ways of escaping Garen's own damage (Irelia, Jax, Vlad, and the like) or who has enough burst early on to make Garen's usual hit and run trade strategy risky (Riven, Zed, and sometimes a well played Jayce or similar champions). You can go with someone who simply has range and CC like Lissandra or Xerath, but they have other downsides and don't really stop him, they just have an easy time going even with him without taking ganks into consideration.