I would import it to PostGIS first. There is tools to load multiple shapes to individual tables. QGIS spit extension is one. The new graphical shp2pgsql in PostGIS trunk or experimental binaries is another alternative. Or you could just write a batch script with shp2pgsql.
I would start there, import everything to a schema called original or something like that. Then from that I would structure the data. Merging together in tables where suitable and so on.
The nice thing about doing it like that is that if you save all the queries you use to do those transformations you have a great documentation about the history of your data. It is also very easy to redo it if needed. Once you are ready with your organizing work you dump a backup of your schema "original" and put away somewhere.
I think this is a structured and clean way of doing it. And as said before, you will get a very solid documentation of what field changed name to what new name, and what original tables are merged into that big new one and so on.
In FME and software like that you can of course also save what you have done, but beside being very slow compared to internal database queries it is not that universal way of document what is done as sql-queries. They will be usable and readable as long as there is text files and relational databases.
I use to end up with textfiles looking something like:
-- A query to merge all roads in Norway
Create table road_tables.all_roads as
SELECT id as roadid, status, the_geom from original.big_roads
SELECT rid as roadid, condition as status, the_geom from original.small_roads;
and so on. This saved as text file has a great value after a few years.