I have a similar situation sometimes.
We retire and old template, but don't want to move it somewhere because then the old forms can't find the template anymore, or other issues which make the situation tricky.
I will do a 'How I use Microsoft Access databases with infopath' post at some point but for now:
1 way:
If you use the import data menu in Microsoft Access and select a completed form of yours, it will create tables and fields and everything for you in a way which matches the form xml schema.
Then if you use VBA ImportXML commad (look in help reference :-) ) any subsequent forms you import using this command will append themselves to the already created tables.
Then you can even build some database forms to display the data and use table relationships etc to archive.
BUT unless you have some sort of 'uniqueId' type field how will you distinguish 'records' (seperate forms) from each other? I plan ahead with my forms and every group and repeating group I make with a 'uniqueId' field which has dateTime stamp of form open in it. This way all forms are very good chance of having a uniqueId different to each other.
2 way: which you could do with 1 way as well
You can use a simple vba function to change the 'template path' inside each of your xml forms made with the old archived templates to point to a new 'archive' location for the old templates - this lets you move them elsewhere so you can clean up your main intranet. You can alter forms in bulk using this method. I think there may be tools also that can do this for you - but I just use VBA.
Just two ideas for you I have used, there could be better ideas - but all my methods are in a limited environment - I can't use webservices, or SQL or level 3 code forms etc etc so I have to use solutions which only need Microsoft Office 2003 to work.
I can help more if you like with code etc if I have made similar already - and may even make new for you if I have time :-)