Migration of assets should be in two steps:
In the first step we need to find what are the assets that is being used some where means what are the assets which is having some reference. if number of assets, which is having some reference, is less then we can use the MOVE option benefits it will be - will not have to focus on update the reference. If number of assets is huge the we can go for groovy scripts or servlet.
In the second step we can migrate the non-referenced assets with the help of groovy script in some scenario webdev is also helpfull.
Hope this will help.
Regards
Umesh Thakur