I understand your position beat, and I can't wait for CB 2.0 when this type of thing is supported natively. However, I was able to find an easier, but still not perfect, solution to this problem. It works for my situation. Here's what I did:
1. Create all of the fields for your form from within the Joomla! administrator. Try to do a thorough job here because changes later are difficult, though still possible.
2. Go to your registration page in a browser and view the document source. Find where your first form field starts and copy and paste all of the table rows into a new file in your joomla document root. I called mine signup.inc.php. In that file, I pasted the code in something like this:
<tr><td colspan="2">
<table border="0">
<tr><td><div>
-- paste data here --
</div></td></tr>
</table>
</td></tr>
Note: After I pasted the data into this file, I removed all of the icons, but this isn't required if you want them.
3. Edit the file components/com_comprofiler/comprofiler.html.php. From around line 1430 (CB 1.2) and on, I looked for code sections that output things that I didn't want, such as the getFieldIcons and the _REGISTER_TITLE and I commented or removed them.
4. Somewhere around line 1450, there's a line 'echo $tabcontent'. That's where CB outputs the form fields. Comment that line out and add:
include 'signup.inc.php';
This will include the file you created in step 2.
Now test your form to make sure it works. Once it does, you're free to create the style and layout from within signup.inc.php.
The advantages to this are that I have complete control over the look of the signup page, which is absolutely critical for my application.
Drawbacks are that it creates more manual work if you need to adjust the registration fields very often. It also causes some issues relating to error handling during the registration process. For example, if you have an error when you fill out the registration form, when you submit and validation fails, it will not re-populate the fields with your previously entered values. I have a few ideas on how to work around this problem, but haven't implemented them yet. One is to just re-create javascript error handling from within signup.inc.php
Hopefully someone will find this useful. When you need the power of CB, but you also need a more custom sign-up page, this is one method that seems to work OK.
Nick