I think if you start the sequence with something like
/castsequence [nochanneling] penance, renew , etc
that should solve your problem. It won't cut penance and will only advance to renew once penance has finished. I use a similar rotation method for my shadow priest with mindflay in the mix, so that the cast sequence only casts when you're not already channeling. Another thing I use in the same macro is

/cast [channeling:mind flay] shadowfiend

so that whenever I'm mindflaying I'll pop shadowfiend if it's off cooldown.
Hope that helps.