Write down the top 3 to-dos that would make today the most successful. This allows you to focus on the top priory tasks first. If by the end of completing this few things, you feel like taking on more tasks you can, but if not, you will know that you still had a successful day.
My problem is very similar in that I write items on my to-do list that are very difficult to achieve. So in a sense, my to-do list is also usually unfinished by the end of the day. I think it's OK to have a shorter to-do list. Accomplishing all tasks on your to-do list gives you a sense of accomplishment that, even if it's a placebo, gets you motivated for the next day's to-do list. Plus, it means that the tasks that you didn't put on your to-do list can be viewed as extra credit, meaning that even if you don't finish them, it's not a mark against you. These are my two cents at least.