Once again, Poster has to delete anything in between 10 to 20 million rows a day... delete statement is not a pretty solution no matter how you wrap it.

Massive purging calls for a structure that allows massive purging in an easy, fast and scalable way.

The answer is partition your table and indexes in a way you have to just truncate a single partition a day. Can you find anything easier than that?