Well, the wp_list_pages function appears to spit out an LI whether I like it or not (I str_replaced the tag after turning off echo, seeing no other recourse there - horrible solution, but no other presented itself.)
wp_get_archives is great but looks highly idiosyncratic - why the other functions don't have the custom html argument is a bit confusing since it's extremely handy.
wp_list_categories has the "style" argument but will still include markup (br tags) if set to 0.
By and large, I have three problems with these functions, which are all, essentially, sidebar functions primarily:
1. Markup is included in function output, thereby conflating presentation and functionality and removing presentation from my complete control.
2. Visual presentation of these functions is nigh-identical, particularly in the default state, but control over that presentation and argument structure/presence varies wildly from function to function.
3. At least one of the functions (wp_list_pages) does not appear to have any mechanisms by which I can alter presenation and markup output.
It's certainly a step up from earlier versions, where I had to yank & manipulate output via PHP's output buffering functions, but it's still a bit mad. If I've missed something in terms of control over presentation, please let me know!