Both of these occured due to extreme and desperate circumstances. Remember that a very big portion of Starfleet was wiped out by Nero..
Which was lame as well, thanks for reminding me.
So I say that him getting promoted to Captain was quite believable.
What was Kirks "rank", as a raw cadet he should have been the equivalent of an ensign or maybe LtJg, so he skips from O-1 / O-2 straight to O-6?
When has that ever happened in the "real world"? No matter what one did in combat the best you could expect in the real world is a Medal of Honor and a promotion of one rank, maybe 2? So he should have gotten Star Fleets highest decoration and promoted to Lt Commander at best.