Possible to import Contacts and Activities at the same time?
You can cut down one step by assigning the to be imported contacts an external ID; then also use that external ID to import the Activities.

Other than that - we end up writing mysql queries to import on an going basis from other data systems -  once these queries work well they can then be bundled into an extension - so admin staff can initiate/run the import at will.