To my knowledge, no.
This would entail an import into the _unsubscribe data view in the relevant child BU, which is off limits. For a consistent reason as it is a kind of "system log" that is intended to just reflect what happened for 6 months - similar to _bounce data view - so that the system can "calculate" with it (>> showing the unsubscription status on the All Subscribers list).
The standard import activity would allow you to change it or insert timestamps that aren't reflecting when the unsub occurred, breaking all internal calculation. To my knowledge there are no "limited imports" with regards to the import mode.
Similarly, you cannot import bounces, which would throw off the bounce count "behind the scenes".
So:
SOAP API is how this can be done - SOAP API limits your access to LogUnsubEvent, which is only "logging new events" so that problem does not pose itself. It will of course enter the time of the API call as timestamp. That's good, as that's the correct time it happened. If you do this in a later migration - it is not so good, as your migration would not populate the timestamps with the actual unsubscription times.
==
All that said - what does that mean for your process:
In my personal opinion (and how I'd build this) you'd simply want your unsubscription page to do this in near-real-time, entering the actual timestamp of the unsubscription and work from there.
In a nutshell, the limits are clear:
You cannot insert unsubscribes post-hoc via import.
If you do it somehow (loop a script with logUnsubEvents), that could be your next problem: you want the correct timestamps which SOAP API gives you in real time - entering real unsubscriptions, but with wrong timestamps could throw some internal calculations off.
You generally want consistent logfiles that the system fills for you. It's of course easiest to have all unsusbcription options work the same way.
You cannot change how list-unsubscription works.
but: you can always eliminate an unsubscription's _effects on sendouts by importing to "active" on all subscribers in the correct context.
So: I would start with the logUnsubEvent in every unsub and then build your custom logic around changing its effects, not start with "faking logs" (strong choice of words, but that 's what importing into a data view like _unsubscribe essentially would amount to) - that can get nasty.