This probably belongs in the CRVS forum because it sounds like you are driving the process from an application.
1. Why not generate all 3 formats directly from your app? No need to repeat the data retrieval, so this is going to be very fast.
2. Depending on your version of the Crystal Runtime (you didn't provide that info) you can test the effect of using HTML 32 instead of HTML 40 as the export format.
3. If you want to take full control over the generated HTML, the only reasonable choice is to not rely on the HTML export from Crystal. However, you can still generate the HTML based on the info in the Crystal report. There are 3rd-party tools that help with that process. See http://kenhamady.com/bookmarks.html for a listing of 3rd-party Crystal tools.
For example, here's a video demonstrating generation of custom HTML from a Crystal report via one of my software products. The automated process can email the resulting HTML as a message body or save/upload as a file: Visual CUT: Email Techniques Video Demonstration