For example, I create this snippet:
<img src="|" width="" height="" alt="" />
| is the place of the caret. Then I could assign hotkey and also auto replace function to this snippet:
1. I type: img
2. Hit Space
3. My image snippet is inserted, and the caret is placed as mentioned above.
Right now, when I use auto replace, the caret is placed after the whole replacement.
My second request: I am in HTML editor, and I want to use HTML auto complete. This new behaviour would be better:
1. I hit Ctrl+Space
2. This shows auto-complete
3. I type a HTML tag, or choose from the list, but I dont type the angle brackets!!! only the name of the HTML tag
4. Hit enter
5. The HTML tag with brackets and also the endig tag inserted, for example: <div>|</div> ( | = the place of the caret)
So in this case I needn't type the angle brackets at all. At the moment, I must type the < bracket to show auto-complete.
My custom snippets could listed in auto-complete window, too.
Auto-complete should work, if I make a selection, hit Ctrl+Space, choose a tag, hit enter, then the selection should wrapped by the tag.
Third request is: enable auto-complete by CSS class and id names.
For example, I type this:
<div class=" at this point, auto-complete shows me the available CSS classes.
Or I type this in the CSS editor:
div. at this point, auto-complete shows me the available class names to div.
My final request is only a small thing: provide auto-complete in CSS for pseudo-classes, pseudo-elemetns and 17 color names.
This features would be nice

By the way, here is a very inspirative video, how to improve the HTML editor:
http://macromates.com/screencast/insert_html_tags.mov
This is what TextMate can do! TextMate can edit HTML tags very fast, you do not need to type angle brackets. (My second request could eliminate angle brackets, too.)
I hope these help!