Actually, GMT and US Eastern Standard Time (I assume that's the EST you mean, given that you mention adding 5 hours) *are* always 5 hours apart. What differs is that dates on which the respective places switch between GMT/BST and EST/EDT.</pedant>
Yes that is correct. There is always a 5 hour difference between GMT and EST and between BST and EDT. That does't help when GMT switches to BST a week before EST switches to EDT. That's exactly why I can't hard code +5 hours. The link below show the dates that DST start and end in NY and LDN.
And like I just posted above, I know there is always a 5 hour difference.
I also mentioned in my OP "I can't simply add 5 hours to GMT time because daylight savings time isn't always the same between zones.". Please don't quote me selectively.