1) Is it healthy the use of so many 301 (I'm about 80 this far)?
I haven't seen any issues in doing so many 301s. I have done this with platform changes. Like custom cart to OSCommerce or Zencart. Joomla to Drupal, Wordpress permalink changes, etc and it actually helps my site a lot more than cause any problem.
2) Is it healthy to leave Google keep finding 404 for removed pages?
If there is a counterpart URL of the URL that is missing, then might as well 301 it. But if this page will really never exist and has no existing related page, then yes 404 it.
3) Should I use no index, no follow in 404?
All 404 pages should have the HTTP status header 404. If your status header is correct, then they are not indexed automatically. no need for a noindex/nofollow. If your status header is a 200, then there is an issue. Make it a 404
4) Is the use of 410 in .htaccess recommended at all (as I can see, using 410 causes traffic loss for those pages not found
I think all 4xx pages are all considered like 404s in the eyes of Google. And it does not matter how you do it. .htaccess, or server side scripting like PHP, ASP, JSP, etc. as long as the status headers are 404s, they are done properly.
Is a site visitor is really looking for something they want from your site and the page is gone, then the custom 404 design with some kind of sitemap and/or search box may help the user find what they need and not lose the good traffic. But having a custom 404 has no value to search engines since 404 pages are not indexed.