The castsequence command will not skip spells or items in a cooldown state, you will just get an error message until it can cast the spell or use the item.
Macro's cannot check for cooldowns. However, LUA can with the
GetActionCooldown(slot) function. But you cannot do any casting based on the results because of Blizzards protected functions.
My suggestion would be to write a castsequence macro with enough CoA's to "fill up" the cooldown time for your trinket (i.e. /castsequence Trinket_Name, Curse of Agony, Curse of Agony, Curse of Agony, Curse of Agony, Curse of Agony).