Baking soda works, so does coca cola actually, it does a very good job cleaning terminals. As Ken said get the felt washers, and/or some terminal treatment. It comes in a small spray can and is like a heavy paint, works well to keep the terminals clean for a long time.
Seems like a lot of corrosion for a car not very old, how does everything else under the hood look?
I couldn't find any other signs of corrosion/rust. I'm in southern California, so this kind of stuff isn't typically a huge problem. I was pretty surprised when I saw it...I've never seen it so bad on my previous cars.
The only thing I can think of is since the battery is near the back edge of the hood, water got in during a rainstorm or car wash and just sat there inside the rubber cover. Oh...and maybe not bothering to check it for 3 years.
In any case, I think these epoxy-coated terminals
and this spray you mentioned
are in my near future.
I gotta say though, I'm pretty proud of my DIY terminal...but yea, I know the slightest bit of corrosion is going to destroy it immediately. And I really don't want to deal with that again...that stuff was just SO NASTY.