Why are your blog posts' URLs different after you migrated in the first place? Different slugs, URL format, etc? What you did before is going inform what you can do now. And how did you do the migration?
I see 2 problems here:
- 404s
- Keeping link juice
If you can solve #1, #2 can take care of itself.
I'd try to get your URLs into same format as what you had for WP and mimic the format. If you can't or won't do that, at least get the post's slug
the same as what you had before, then you at least having a fighting chance to try and rewrite what you had into your newer post format.
For example, if you changed /blog/post
into news/post
or whatever, you might have rewrite rule that looks like:
RewriteEngine On
RewriteRule ^blog/(.*)$ /news/$1 [R=301,NC,L]
That'll take care of the format problem but I'm guessing it goes deeper than that.
How did you import your old content? If your post slugs changed, export the old content from WP into a CSV. You likely just need to export the post title and its slug.
Then use Bob Olde Hampsink's handy Import plugin to change your post slugs back to what they were before. Just pick your section(s), re-import the title and slug, and leave the rest of the fields untouched.
You might also use something like Moz's Open Site Explorer or AHREFs to see what your popular posts are from a domain/post authority standpoint and then at least rewrite those so you can keep the link juice happening.
Google webmaster tools can let you see which pages are breaking when it crawls as well as who's linking to your content. Then do as Tim mentioned in his answer and rewrite those.
The 80/20 rule is probably going to be your friend here, just getting those 20% of popular posts will probably fix 80% of your problem. Google is smart enough to figure out the rest of your 404s when you submit a sitemap but you still want to keep it as seamless for visitors coming from those old links.