a) Page Break
PD4ML allows to control page breaks: to force a break with CSS style, or with proprietary tag and to keep some content sections not broken (page-break-inside: avoid).
b) Horizontal scrolling of tables
If a table does not fit a page, it is continued on the next page.
c) Fixing the text background and text color in some combination which when converted to grey scale could become unreadable.
You may apply additional styles with addStyle() PD4ML API call to resolve some conversion specific visual problems.
d) Fixing the Page footers which might come in half page when printed
A HTML sample of more detailed description would help to understand what is the problem and how to solve it.
e) Fixing the extra space which might come when printed on A4 page.
Most probably the problem can be solved by a decreasing of htmlWidth conversion parameter.