If you find that you have a lot of very similar projects, this could work, by setting a fixed estimate for each type of project.
For example, it's pretty common for a graphic designer to charge, say $250 for a logo, which includes an initial consultation, and maybe 2 or 3 revisions. Anything beyond that is an extra (negotiated) charge.
A custom programmer might come up with something similar for something like "Setup a Wordpress blog" or "Setup a shopping cart that works with Authorize.Net" - in other words, predictable, standard projects that you understand very well.
You can offer a "menu" of these fixed-rate projects, with extras being negotiable. Assuming you get very good at these projects (by having stock code to use with minor customizations), you might actually increase your margins.
Otherwise, you might wind up losing money, if a "standard" project turns into a highly customized nightmare after you've agreed on the price. In that case, stick with hourly, or define what the base rate covers in great detail.
You'll notice that the more tightly you focus the standard project, the more it looks like a "product". That's a good thing. Products can scale more readily than services, even with subcontracting.
One more thing - if you're not quite ready to "productize" your services, you can start now by tracking your current projects more closely to see how long a "typical" project of a certain type takes, and what the common customizations or wrinkles are.
Then you might take the average case (for example - "40 hours for a customized shopping cart using open source software"), add a buffer for your profit margin, (e.g. 20%), and then your "product" might be "Customized shopping cart" - 48 hours x hourly rate (e.g. $100) = $4800 as a base rate.