Which promotion is the best for each unit type? (i mean ranger/siege tool/melee/naval)
For ranged units (all land and usually also most naval) I always start with three levels of rough or flat terrain bonus (mostly rough). Because this unlocks the absolutely amazing
+1 range promotion which makes great anti-city units from archers and siege weapons. Then followed by +1 attack per round and then healing every turn even if the unit performed an action.
The increased range for archer units also makes them better when you upgreade to gatling, because 2 range is still better than 1
But belive me, you won't be upgrading your 3 range crossbowman into a 2 range gatling for quite a long time, because 3 range can be better than the added damage.
Melee units start the same (3 levels of the same promotion) and then usually healing every turn and/or multiple attacks per turn. But it's also good to have some medic units, so in this case the 3 initial levels don't apply.
Naval units: I typically use ranged units against land units and cities, so I start with bonus against land units until I get the +1 range and then I go with +1 attack per turn.
And I use melee naval units against naval units, so I give them these promotions.