If I'm playing "optimally" (well, optimally for me, anyway) I will typically have 20+ villagers maxed out on Friendship by the end of Year 1.
My general tips are:
1. Focus on convenient "clusters" of villagers (i.e Gus, Emily, Shane, Pam, and Clint are at the Saloon every night) and work on them concurrently. Max them all out, then move on to another easy cluster.
2. Learn an easy to get and/or expendable loved gift for each villager. Double up when possible (i.e. Maru and Demetrius both love strawberries). Easy also means, say, just pop into the saloon while it's raining and buy Leah a salad, don't waste 3 in-game hours running all over the forest trying to find her only to remember it's Summer so she was actually at the beach the whole time.
3. Obviously, capitalize on birthdays.
4. For villagers with very limited loved item pools (Pierre & Alex), learn a couple of an easy to get universal likes, like Earth Crystals, and make do with that.
5. Do the help wanted quests whenever possible.
6. DON'T think you have to wait until you have a ton of iridium rabbit feet late in year 2. You can be working on friendship from Day 1 Spring 1, and since I like having tea saplings and a Year 1 Flower Dance partner, I usually am.
7. Don't be afraid to make your "run around the map and get the week's worth of built up forage" Saturday also be your "run around giving everyone gifts" Saturday as well.
I have no idea about any added villagers from the "expanded" mods and so on, but the same general principle applies, it's just going to take longer because there are more of them. It's all about what's easiest to get a large stack of, and the easiest where/when to find them.