On server-side templating - did you consider a selector-based approach like cgrand's Enlive?
As I see it, it brings the best of both worlds (the comprehensibility of "logicful" templating, the maintainability of strictly separating presentation and data transformations)