Quadcopter stabilization algorithm

Maybe a single Accellerometer in the vertical direction would help for altitude? I hate typing that long word. I can save the value of gravity when it's at rest. When it's higher it means I will soon be going up if not already. When it's lower I will soon be going down. In other words higher means my vertical velocity is increasing. The Ameter does not tell me what the current velocity is. When it's stable it will be near zero for many samples anyway. With an Ameter I COULD sample more often, as you suggested. With Ameter only I could keep it near gravity by adjusting the throttle. But then it would slowly drift, and I wouldn't know it. I have to combine it with the barometer for this idea to work. I've seen complex code for this here. Anyone know how to do it simply?

Combining or fusing Ameter and Gyro: