Hi,
what we usually do is to create employees with a 'limited hiring' action (via config we create a separate user group that allows us to run the hiring action with only infotype 0,1, 2).
After this, we upload each infotype separately.
We always use LSMW. LSMW allows to program conversions, system checks etc and is faster to create/configure than to create a separate upload program in ABAP.
The initial upload => we usually put all employees on the default position. Afterwards we run an organisational reassignment as of the go-live date and put all employees on the correct position (after running the reassignment action, please make sure to run the integration program RHINTE* to ensure that the assignment is correctly transferred to OM).
Hope this helps,
Tom