Only time will tell if it was too early. Every contract is a gamble. Kaepernick looks like a good gamble right now because he's a hard worker. Also, he might already be a better QB than the first three guys you mentioned. Higher passer rating, at least, than those guys.
As far as the franchise tag, I'm not sure how great it is to use it on a QB. First of all, it's really high for a QB (over $16 million) and secondly, you want continuity and stability at the position. Plus, you don't want to have a bad relationship with arguably your most important player. Finally, if you have your QB locked down, you can use the franchise tag on someone else if you really have to. I don't think the Niners like using the franchise tag. I don't think they used it for this upcoming season.
Yup, over $16M so that makes it actually cheaper than what you just guaranteed him.