I want to display the bio on top of all archives but remove it from every post.
That will prove interesting to achieve. For an author archive you can guarantee that all posts in the archive will be for a single author, but for other types of archive you can't make that assumption as the plugin can't know whether you have a single author on your site or multiple ones and what the content of the page actually is. There is a work-around this ...
I'd suggest adding some code to your theme's template files that basically iterates through the WordPress Loop, stores each author's login ID, and then uses the
do_shortcode call I mention above, once for each author, specifying the author's login ID in the shortcode.
But again, as I mentioned above, this is the territory of a theme's template files and not something that the plugin can do, although I'd love to be able to support it natively it's just not part of the WordPress architecture.
Having said that, I can see the use for making some theme template functions in a future release that does this sort of thing, that way you can use a single line of PHP in your template file and not a whole lot of code iterating over the Loop. This would come with the caveat that you'd have to iterate over the Loop twice, once for the plugin to see which authors have posts/pages being displayed and then again for the template file to actually display the posts/pages. This could have an impact on your site's performance.