Your calculation for O2 is along the right direction, but missing a factor I think.
Each red blood cell holds millions of molecules of hemoglobin, each hemoglobin molecule, when saturated (at the lung), holds four O2 molecules. So this is off by a factor of millions at least. Wikipedia estimates that hemoglobin makes up about 35% of the total weight of blood. We can use this figure and an average of 4.5 l of blood for a human being ( numbers vary, but it will be within 30%).
4.5l blood * 1.060 g/ml density of blood * 1000 ml/l water * 35% = 1667 g hemoglobin
4 molecules O2/molecule hemoglobin * 1667 g hemoglobin / (64000 g/mol molecular weight of hemoglobin) = 0.104 moles O2
so I get:
0.104 moles O2 * 30 g/mol for O2 = 3.12 g O2 in the blood at a time.
In the muscle and tissues it gradually depletes so that all four molecules will usually end up somewhere in your tissue. So this is all assuming that counting all the hemoglobin bound O2 will approximate the count of O2 in the body.
We know this is a crude estimate as myoglobin in mammal muscle will store O2 for use later, and the average hemoglobin is not in the lungs and will have given up some of its O2. It also doesn't count the O2 which diffuses into the blood and is carried by the water. This is about 0.35 g / l, which is why we need hemoglobin - total blood saturation would carry about 1.6 g of O2. Hemoglobin about triples the oxygen carrying capacity of blood.
CO2 is much more soluble in water (blood/tissue) than O2 is- about 1g/l. There is I think only 2 CO2 binding sites for hemoglobin, which means it carries out only half the CO2 oxygen that it carries in. Hemoglobin is is only considered to account for 10% of the total CO2 carrying capacity of humans. So calculating CO2 respiration by hemoglobin is not a good way to estimate blood CO2.