Disclaimer: I have 75+ wins on Garen and only a few games played on Olaf, but here are my thoughts:
It's interesting that you think Olaf has the advantage in not being controlled. Garen has a movement speed buff (Decisive Strike) and cannot be slowed when using Judgment (which can be used for movement as well as damage). Sure, Olaf's ultimate is better, but it's not always up. Honestly, I think its easier to CC/control Olaf other than when he burns Ragnarok.
Garen has a stronger early game than Olaf, Judgment far exceeds anything Olaf can do until he has several points into Reckless Swings/Vicious Strikes. If Garen gets fed early, look out, he's a monster until the very-end game (if it even gets that far). Olaf will be more consistent throughout the mid-late game, though Garen is no slouch.
If your team lacks a true tank, Garen can slap on a Frozen Mallet, and other survivability items and Courage gives him the edge for the damage absorption role. I don't recommend purposely playing Garen to fill the tank role, but Frozen Mallet will keep your targets slowed and off the carries and he can take a lot of punishment while still contributing decent damage with Judgment/Demacian Justice. "Tank" Olaf dies faster and doesn't have the finishers that "Tank" Garen does. Olaf will have some damage with scaling Vicious Strikes (hp --> dmg) and the true damage of Reckless Swings, but his lack of any defensive skills (life steal won't be that impressive in "Tank" mode) limits his playstyle to primarily DPS.
TL;DR: Edge to Garen for early game and damage absorption, Edge to Olaf for mid to late game.