I actually have an answer to the Weezing dilemma.
After checking the Pokedex I found out that Weezing only weighs 9 kilos and Koffing only weighs 1 kilo and has a height of 1,2 m. This means that Weezing is made out of two spheres the Koffing sphere which has a radius of 0,3 M and the Weezing Sphere which has a radius of 0,6 m.
This gives us a total volume of:
V= 1,25*pi*r^3 ⇔ V = 1,25*pi*0,3 + 1,25*pi*0,6 = 3,53 m^3
In the real world Hydrogen has a lifting power of 1,2 kg/m^3. This equates to a lifting power of 4,2 kg were Weezing to be a Hydrogen Balloon. This is around half the lifting power needed to lift Weezing. So Weezing would NOT be able to levitate in the real world. But luckily we're in the Pokemon world, where the air is perhaps more dense which would increase the lifting power of gasses, or Weezing has a gas inside of it that is even lighter than Hydrogen.
This leads me to my conclusion. Koffing would easily be able to float in in the real world. But once Koffing evolves it evolves some type of ultra light gas inside of it which allows it to continue levitating. This would also explain how Drifblim and Drifbloon can fly.