How can I import data owned by people who are not Salesforce users?
I would suggest your first solution.
- Import users that are no longer with your company
- Import Data related to users in step 1
- Deactivate users from the step 1
- Import all other users
- Import Data related to users in step 4
Tip! You can call SFDC support to temporarily deactivate the created date thereby retaining your historical created records.
Salesforce can grant what they call "courtesy licenses" for a brief period of time for migration projects if you ask them nicely for just this case. I know this from direct experience.
I would imagine they'd be especially supportive if you're a new customer moving off something else.
It's now possible to migrate data with inactive users (as of Winter '16) here are the release notes about it:
Migrating data to Salesforce and mass updating records just got easier. Now you can set audit fields when you create records through the API and update records with inactive owners without contacting Salesforce.