I looked over Wowhead and Icy-Veins, downloaded some Weakauras and did some optimization on test dummies. The macro has the option to be especially lazy by focusing the tank in dungeons and this simply puts DPS on his/her target.
Updated 3/4/21
Single-target
d4JrdaqzHxcj1BrQEnKKdRYmrs9yOMneNhfUjPYVaY3Gu60u1oP0Ev2TO9t0DrkdJk63KmqivgkP0GjmCsXbPc(mGogIZrQYcrcTukklwQy5s5HibpvYYa55OAIijtLctMI00v1fLkDvibpduDDPQncuvBfjAZuH2oKqFesXxbQ00akFhOkJeOITHsJgughv6KKQAwaCnkI7bj62OOJtr1FHu1JmJzjROQBzG(sFlAOUl6111mkml0mwzCir(8veceee8v6y8W84zjR0Dz)HOF(rdfJ89QCuCfv9jWqLZswP9ApJzjRO8A(RdsWNX(vMDEtNLSYWZmaVdbv(e4SKv6oCtrz04EvYNXSKzmlzfi8XFPGEQWWUmdeFcKMuqiSUM4ol0kq4J)8W8(iXHuqpvyyxMbIpbstkiOvpwiasbRl7SWxbcF8NhM3hjoKc6Pcd7Ymq8jqAsrl4XJsSIzN7LcPG1LfGuW6YcqkyDzbifSUSaKc4G5UIALsd1EM(FfzfQdgMfiXXJzmlzfi8XFPGowXSZ90Kc4qMa5Q3(v1hAa)(e)EvUsBZRA(NXkTk(R7Wn1mMLSce(4VuqhRy25EaPcd7Ymq8jqaOtdYXiA0KccbcA)kTTq3HBQzmlzfi8XFPGEQWWUmdeFcKMuqiWDnXDwOvGWh)Lc6yfZo3divyyxMbIpbcaDAqogrJMuqiqq7xH6GH2wW5ZywYkqhN75Vu4Oc3ZNfAfi8XFEyEFK4qkONkmSlZaXNaPjfTGhpk)RbmEPqkGdMlaPi7rqMf(kq4J)sbCcX5(97xPLsTZswHMQlLrJ7v5SqSGP3QUPJQgoOGIPM7VoEe)ZyuCf4ghQCOVD8zSFLdTiVzjRO(4pkOX07dtxb5eI4eUtWiSobZj0kWjAkpEwYkQchVEKFwYQstG1NQzHyr7kh6FyQ2kDrdVF)g
Multi-target (centered on character to be truly one-button)
daKjhaalsXVuvAyuvvhtv1YuuEgjPMgjjxdKTrIQVPivghW5ib06ibY9ibQbsvvoOIuwijrpKeXevKCrsu2ijvFKeGrscPtQiEjjuMjjs3KKYofXqjLAPGQEQKMkvXvjHyRKe(QIu1BbLUlOYEv6VKGmyrDyvwSupg1KPCzK2m0NvunAqXPv41uvPzls3MQYUr8Bvz4KsoovvSCHNtQMovUovPTtcvFNeuNxvX8j2VeV)RNn5FRtPSQhfsnfrPEMOqQPm4vYMmB9SvpxkL4036))SzZu9wvuA8g8M8Vv1oI3lDcXrdfNsCJhzv5wNYlzo9r2K)TQ9fUpBY)wvXfJRtP6RN1Tv4VHTj)B1ZWhvHVu)oiZ3K)TQ2XXtf0qF8i6RNn5F9Sj)Bvyen7oe)YNUtN6hVuctLOKfgriiZywyeHGygccwYJH5iKu6Gmhoy9NwP3hAaNesuYcJia0TzcJia0TzWFdsj)Wsw9rqLqcnLSWicaDBMWicaDBg83GuYpSKvFeujKqtjlmIaq3MjmIaq3MvH5SNcJEJpsiHMswyebGUntyebGUnd(Bqk5hwYQpcQesOPKfgraOBZegraOBZG)gKs(HLS6JGkHeAkzHrea62mHrea62m4VbPKFyjR(iOsiHMswyebGUntyebGUnd(Bqk5hwYQpcQesSjZ2QWiA2Di(LpDNo1pEPeMkrjlmIqqMXSWicbXmeeSKhdZri00bzoCsirjlmIaq3MjmIaq3MPKhbtV5X5OsiHMswyebGUntyebGUnBcHheACoQesSjQERcJOz3H4x(0D6u)4LsyQeLSWicbzgZcJieeZqqWsEmmhHqthK5WvYbvN6uW8ZxFUswcjkzHrea62mHrea62Sj(89sphvcj0uYcJia0TzcJia0Tzti8GqJZrLqcnLSWicaDBMWicaDB2ecpi04CujKqtjlmIaq3MjmIaq3MnHWdcnohvcj0uYcJia0TzcJia0Tzti8GqJZrLqcnLSWicaDBMWicaDB2ecpi04CujKytu1wfgrZUdXV8P7KOKfgraOBZegriiMHGGL8yyocHMoiZHtIswyebGUntrpf)XsiXMaTvHr0S7q8lF6ojkzy5NV(CA8NwP3hAa3wv67PLsh(gUT(dTvTF6o1ooERNn5FRcJOz3H4x(0DsuYcJia0TzcJieeZqqWsEmmhHqthK5WjrjlmIaq3MPeyUNEjRYxQtcjw3wvm6hTdQU(6zt(3QWiA2Di(901h6ojkz8XE13KzBvyen7oe)YNUtIswyebGUntyebGUnt9rq7xQtcjw3wvm6h4PP0tNUE2K)TkmIMDhIF5t3jrjlmIaq3MjmIqqmdbbl)81NdojkzHrea62SPO8W35gK5LSkFPojKyDBv7GQ2XXB9Sj)Bvyen7oe)YNUtIswyebGUntyeHGygccw(5RpNgYJH5ieA6GmhojkzHrea62SPUWVLC95nvbvYti6URhPd3hjKytMTvHr0S7q8lF6ojkzHrea62mHrecIziiy5NV(CAipgMJqOPdYCn(tR07dnGtIswyebGUnR61NVhPKNqqAqUujKyDBT6OAPUxc7gpYw1ogVy4(SU1T1P51bZl2QA0G3QcOQmvqd9XJSjZuUQuGBvze8fmvjpFADURhPd3NvLBD6PNFNM340xpRBRtlOKBt(3QspDNIOLDoQT1z(F2V)vT)v1VYvfKQv(wv7JdMbVj)BDkkEEtDBY)wRAr5jtTjZu(0TvTvH2BY)6w3Ua
I tried to optimize as much as possible while keeping it to only one button. I hope someone finds them helpful.
Mercurio