Mind you I don't deal much with the data side of SQL Server. This is just my thought from studying I have done on the subject for tests and just pure interest in it.
With that said, for the archiving piece I would think if you implement table partitioning to separate your data by month might improve I/O performance for the production database. Placing your current "production" data in a file group on a segmented disk by itself then previous month's data in a separate file group. That way the procedures performed for the archive data would not be fighting for I/O processing.
Shawn Melton
Twitter: @wsmelton
Blog: wsmelton.github.com
Github: wsmelton