As you've already seen, apex:component doesn't support custom facets, which means that you're going to have to look for an alternative solution if you want to have reusable code. If possible, use pure CSS for placement of the elements. It's arguably the cleanest solution if you want to place stuff on the page. Resist the urge to do DOM manipulation, because Visualforce likes its elements to stay put, and you might break something without extreme care, and I'd consider such an attempt to be brittle at best.
That said, if you want the sort of templates you're looking for, Visualforce isn't the solution. Use AngularJS, BackboneJS, Lightning, or some other template framework. There's enough choices out there today that you shouldn't arbitrarily think about being stuck in Visualforce, which was very cool in 2007, but is definitely showing its age a decade later.
Lightning has native support for defining custom sections by way of defining attributes. Also, if you go with Lightning, you're working on components that you'll be able to reuse in the coming years as we're shuffled towards Lightning, and Classic is retired or, at least, no longer actively maintained (note: this last part is just an educated guess, I have no idea what salesforce will do in the coming years).
My hypothesis, given the size of Lightning, is that Visualforce is only being very lightly developed at the moment, if at all; I would be highly surprised if custom facets ever saw the light of day. Salesforce is investing heavily in mobility, and Visualforce has never been particularly mobile. While Visualforce does work on mobile devices, when enabled, it was pretty much left up to the developer to make sure their code was mobile-friendly. Visualforce is based on now-ancient technology that pretty much assumed everyone was still using a computer to use the Internet. Lightning, in contrast, is mobile-friendly with minimal effort, and provides a lot of customization for components in ways Visualforce could only dream about.