Basic idea
Picture in your mind a deep ocean of water. Imagine a column of the water, going from the surface down to a depth $d$. That column of water has some weight $W$. Therefore, there is a downward force of magnitude $W$ on that column of water. However, you know the column of water is not accelerating, so there must be an upward force of magnitude $W$ pushing on that column. The only thing underneath the column is more water. Therefore, the water at depth $d$ must be pushing up with force $W$. This is the essence of buoyancy. Now let's do details.
Details
The weight $W$ of a column of water of cross-sectional area $A$ and height $d$ is
$$W(d) = A d \rho_{\text{water}}$$
where $\rho_{\text{water}}$ is the density of water. This means that the pressure of water at depth $d$ is
$$P(d) = W(d)/A = d \rho_{\text{water}}.$$
Now suppose you put an object with cross sectional area $A$ and height $h$ in the water. There are three forces on that object:
- $W$: The object's own weight.
- $F_{\text{above}}$: The force of the water above the object.
- $F_{\text{below}}$: The force of the water below the object.
Suppose the bottom of the object is at depth $d$. Then the top of the object is at depth $d-h$. Using our results from before, we have
$$F_{\text{below}} = P(d)A=d \rho_{\text{water}} A $$
$$F_{\text{above}}=P(d-h)A=(d-h)A\rho_{\text{water}}$$
If the object is in equilibrium, it is not accelerating, so all of the forces must balance:
$\begin{eqnarray}
W + F_{\text{above}} &=& F_{\text{below}} \\
W + (d-h) \rho_{\text{water}} A &=& d \rho_{\text{water}} A \\
W &=& h A \rho_{\text{water}} \\
W &=& V \rho_{\text{water}} \end{eqnarray}$
where in the last line we defined the object's volume as $V\equiv h A$. This says that the condition for equilibrium is that the weight of the object must be equal to its volume times the density of water. In other words, the object must displace an amount of water which has the same weight as the object. This is the usual law of buoyancy.
From this description I believe you can extend to the case of air instead of water, and horizontal instead of vertical pressure gradient.
Best Answer
Balloons are buoyant because the air pushes on them. The air doesn't know what's in the balloon, though. It pushes on everything the same, so the buoyant force is the same on all balloons of the same size.
If the "balloon" is just a lump of air with an imaginary boundary, then the lump won't go anywhere because the air isn't moving on average. So the buoyant force must exactly cancel the gravitational force (the weight). Since the buoyant force is the same on everything, the buoyant force on a balloon is equal to the weight of the air it displaces. In symbols this is
$$F_{buoyant} = \rho g V$$
where $\rho$ is the density of air, $g$ is gravitational acceleration, and $V$ is the balloon's volume.
Hydrogen and helium have less weight than a similar volume of air at the same pressure. That means the buoyant force on them, which is just enough to hold up air, is more than enough to hold up the balloons, and they have to be tethered down.
Assuming they have the same pressure and volume, a hydrogen balloon has less weight than a helium balloon. Things like pressure and volume are roughly decided on a per-molecule basis, at least in gases at low pressure, so at the same pressure and volume hydrogen and helium will have the same number of molecules. Hydrogen is lighter per molecule, so the hydrogen weighs less, and less of the buoyant force is canceled out. That means the net force on a hydrogen balloon is greater. The difference in the net force is small.
Hydrogen is $H_2$, which has atomic mass 2, while air is mostly $N_2$, which has atomic mass 28, so the hydrogen balloon has a net force of about (28-2)/28 = .93 the weight of the air it displaces.
Helium is mostly helium-4, so the net force on a helium balloon is about (28-4)/28 = .86 the weight of the air is displaces.
So net force on the hydrogen balloon is in the neighborhood of 10% more.