Try following step by step approach that I have used in my last 6 projects:
1) Create a neat hierarchy for all such multimedia components that your are not using in DWT templates - (Say Building Blocks\Assets\Images, Building Blocks\Assets\Video etc.)
2) Create a corresponding structure group hierarchy - the hierarchy in which you want to publish your multimedia component - It may be existing or you may want to create a new one
3) Create a metadata schema with a text field and associate it with your multimedia component folders (Building Blocks\Assets\Images) - In the metadata field give TCM URI or WebDav URL of the structure group which will defines the location for publishing of your multimedia file
4) Create multimedia components based on Multimedia schema of your choice
5) Create a Component Template linked with these multimedia schema
6) Create a C# TBB which will extract the Multimedia component and publish to the location define by the metadata of the folder
7) Associate this C# TBB with your component template
Now direct publishing of your multimedia component will give you the desired results.
1) Easy Maintenance, Flexible and scaleable
2) High Useability
1) One time high investment in terms of effort (man-hours)
I hope it helps.