You do not need to track hours to bill clients for their hours. This myth is awfully demotivating for so many people I hate that it still is the default.
> I basically just figure out what percent of each day I spent on each project and apportion my timecard appropriately.
And you've basically figured out the better way on your own.
As Tippett figured out and published in 1934, if you want to know how much time is spent on something, you don't record every hour for every person. That's insanely expensive and demeaning. Not to mention that self-reported hours are very biased toward what's perceived as important work.
Instead, you do work sampling/snap counting. Have a person show up at random times and record what's going on at that time. The portion of times an activity was recorded corresponds to the portion of time spent on that activity.
(The more tech friendly version might be an email or instant message asking what you just worked on, sent at a random time and meant to be answered just as you finish up something and move onto the next thing.)
And it’s not like I have to clock in/out or anything. It’s just a simple form I fill out at the end of my day that lists out hours per task on each project (and each “task” corresponds to a role, so it’s only one line-item per project).
The alternatives you proposed sound awfully like micromanagement though.
While it’d be nice to not track, it works well enough. I make hourly but can work as much (or as little) as I want each week as long as most is spent on billable work.