Update: Due to Cospri's Will and Mjölner receiving the same treatment as CoC, the mix-matching with different cooldowns as described in the post is actually only necessary for Poet's Pens (or weird CwDT setups).
So I haven't seen a post like this yet and I have seen a couple of people make incorrect assumptions, so I decided to make a post about this.
The premise is that cooldowns are measured in full server ticks, which take 33ms. They are rounded up to meet these. If you trigger a skill at a point in time when it's tooltip cooldown would have passed, but the server side one hasn't, you will skip that cast.
The result is the following:
264ms (3.78 APS) for Poet's Pen with no recovery
165ms (6.06 APS) for CoC with no recovery
231ms (4.32 APS) for Poet's Pen with at least 8%
132ms (7.57 APS) for CoC with at least 14%
198ms (5.05 APS) for Poet's Pen with at least 27%
One of the conclusions is that you can get full CoC potential with a single t2 mod on a belt. Unless you attack every 66ms (15.15 APS) at 27% increased cooldown recovery speed, your casts will not entirely match up.
Using the CoC breakpoint for 14%+ icdrs still allows you to trigger your Poet's Pens as often as you would without cooldown investment, which is a mere 12.5% loss from the maximum possible frequency with this cooldown investment.
If you use Barrage at 3.78 APS, the first and last projectile can theoretically be far enough apart to trigger CoC. If the first projectile is fired exactly at the start of the latter 60% of Barrage and the other exactly at the end, it would work out. Assuming they are evenly spread and not starting at the exact start, you need at least one more projectile for them to be far enough apart. Keep in mind that if you miss the hit or crit roll for the first projectile, you will probably only get one CoC proc per use.
Edit: If you use more than one spell, multiply the APS breakpoints with the number of spells you use. To get rid of rounding errors, round down the result of number of spells divided by cooldown in seconds to two digits after the decimal point. Due to potential rounding ingame, going as close as <0.01 APS to the breakpoint might cause skipped casts though, so you probably don't want to go that close anyway. This also goes for the breakpoints listed above.