I've experienced this issue frequently and usually find its because one of the configuration paths has not been setup correctly on the new server.
As such I always install Deeploy Helper before migrating. Then, after migrating to the new server, if I get a blank Modules page I'll copy the Deeploy Helper URI from the previous sites CP and paste into the new sites CP. After Deeploy Helper's module page loads I update the paths/URIs and it resolves the issue.
If you're unwilling or unable to use Deeploy Helper in the manner suggested I'd start by concentrating on ensuring all your paths & URIs are correct.