This sounds like it should be a common problem but I can find little solutions to it.
Basically relative links on a https page (often found within controls and the master page) will obviously link to non-secure pages as https which is undesirable.
A possible solution was to use the base tag in the head of the page to root all relative pats to http but then any relative resources within the secure page will be rooted to http which is also undesirable.
I thought about overriding the render method and if it a secure page then rewrite all relative links on the page to be http.
How should it be done?