When you get right down to it, every rifle is really a compression rifle, it's just the storage mechanism of the gas that is fundamentally different.
What gunpowder and other explosives really do is store a massive amount of chemical energy in a small space. Ignition causes rapid oxidisation, and it's the pressure of expanding gases that expels the bullet from a rifle, not the heat. All the heat does is cause the gas to be released / expand.
In that sense, the difference between an air rifle and a 'conventional' rifle is when the gas pressure is created. In a conventional rifle, the gas pressure is created when the bullet is being fired. In a compression rifle, it's created beforehand, stored and released as required.
That means that your air rifle is never going to be as efficient or as powerful as a conventional, gunpowder based weapon. It'll have lower range, less power and more mass than any conventional firearm. There's your disadvantages. But, gunpowder is not the only type of combustion that can cause this effect.
You mentioned Hydrogen gas in your edit. Liquid Hydrogen (and liquid Oxygen) is what they use to launch rockets. NASA uses liquid hydrogen because that packs the fuel in more densely, allowing for the largest possible fuel load. Ignition and oxidisation heats it up VERY quickly, creating very rapid expansion which is funneled out the engine nozzles to produce thrust. (This is a simplification but functionally correct.)
You don't need that kind of power, so why not just put hydrogen gas in a combustion chamber behind a bullet in a gun, and light it?
Even at room temperature, hydrogen gas will explode on ignition, causing a burst of pressure that should be able to fire out a bullet. Hydrogen burns cleanly, creating water (read The Martian by Andy Weir for some fun explanations of playing with hydrogen explosions) and ironically enough, it's simple enough to make as well if you have electricity. You just put a current through water and can break it up into hydrogen and oxygen, which can then be used to fire a bullet, turning it back into water.
In any event, ideally you'd still used pressurised hydrogen to combust so as you get as much pressure behind the bullet as possible, but this could be stored in much smaller cylinders as you wouldn't be storing compressed gas at the height of it's potential energy; you'd be storing a gas, under pressure, which when ignited gives you much MORE pressure. That means your soldiers are carrying around a cylinder of gas, but they get much more bang for their buck (forgive the expression) than they would with conventional compressed air. Certainly enough for a conventional battle.