Michael, I use Numpy for this, there are a number of posts on my blog dealing with numpy and tabular data. The recfunctions module in numpy has methods for creating fields, joining arrays together and arcpy's Numpyarraytofeatureclass and Numpyarraytotable allow you to work with tabular data. I just generally find it quicker to export the non-geometry portion of a featureclass/shapefile table to an array, rearrange the columns the way I want (even add new ones with calculations) and bring the array back in as a table, do a join on the objected field and save to a new featureclass. With simple geometry, you can even send over the geometry attributes, do all the stuff in numpy an bring it back into arcmap. The Py_links has a lot on using numpy with arcmap, the contents are not in conceptual order or order of difficulty.
Some day, I will finish tinkering with the numpy toolset and post it on the Code sharing site (you might have a troll around there too)