Each airship has one or several suspendium chambers that generate lift (as long as they have an operator and are supplied with coal, that is). The ship's weight is subtracted from this lift, and the surplus lift determines the ship's service ceiling - how far up it can go. This means that a ship with a lot of spare lift can go up higher.
Likewise, a ship that is above its service ceiling will drift down until it's again able to support itself. (Or until it hits the ground.) A ship that generates no lift at all will fall rapidly and crash.
Propellers generate propulsion, which, divided by the ship's weight, determine its maximum speed. This is where I'm really starting to avoid physics: instead of calculating acceleration versus wind resistance, ships just have a maximum speed they ramp up to in about two seconds.
If a ship touches the ground, the energy of the collision is calculated (mass times speed squared) and converted into damage dealt to the bottom row of modules. Further-up modules also take a small amount of damage. If the bottom row is destroyed by the impact, the ship will proceed to fall again, of course, so it's possible for a bullet-riddled ship to just disintegrate on impact.
Much the same applies to collisions between ships: the collision damage is dealt to the modules that are touching. How much damage occurs depends on the relative velocity of the two ships, which means that major damage only happens if one or both had the time and space to accelerate.
This means ramming can happen accidentally or on purpose. Armour protects ships against collisions, so it's already possible to custom-build ships for ramming. And in the future, there will be specialized ramming prows!
Next? A bunch of tidying up before starting on multiplayer combat.