One approach that may work would be to keep track of average times for each type of joint and then apply that value against an hourly rate. For instance a tenon on an 8x8 could have a value of .5 hours. Multiply this against your desired hourly rate, say $40 per hour. You get $20 for that joint. This makes the per joint method more of an estimating tool, and allows you to make your target hourly rate. You could also add in a fudge factor to your time values, and even account for different species.
In my business experience my clients want a fairly set price before they will agree to the work. It makes it easier if there aren't going to be any surprises.
Dave