Calculate the stable height of a balloon

My son has asked me a question, and I'm afraid my high school maths are not up to the task:

Is it possible to calculate the height that a given balloon (filled with a known quantity of helium) will attain when released, assuming it won't burst before?

My line of reasoning is as follows (and may already be flawed, so please point out my errors):

• The balloon will ascend as long as the mass of the air that it displaces is heavier than the mass of the balloon. It will stop when both these masses are equal, so that's what we need to find out.
• We know the mass of the balloon and assume that it will remain constant throughout (no leaks).
• We know the air pressure on the ground. For simplification, we can assume that air pressure drops linearly (?) when ascending (no inversion weather etc.), so we can calculate the air pressure at any given height.
• The effects of gravity on the balloon are reduced the farther up it goes.
• The balloon expands when ascending because of the reduced air pressure, thereby displacing more air (which adds to its buoyancy), but this air is lighter (which takes away buoyancy). <-- This part is giving me the most trouble.

Are there any other factors that need to be taken into account? Shouldn't it be possible to calculate a height where equilibrium is reached and the height of the balloon remains stable?

Is it as complicated as it looks to me?