In my opinion you should go with Iron Head, but there are upsides to both. (Iron Head has more)
You will be able to defeat Fairy, Ice, and Rock types more easily.
Iron Head also has more base power than Fire Punch. Iron Head has a 30% chance of making the target flinch, which is a higher chance than Fire Punch's secondary effect. (10% chance to burn)
Fire Punch will cover Ice types, one of Dragonite's huge weaknesses. It has a 10% chance to burn the target, which has a smaller chance of happening than Iron tail's secondary effect but it does damage.
Iron Head has the most upsides but it is your choice.
Hope I helped!