The US has a mix of dates. All elections are effectively at the state or local level. Primaries are all over the calendar. General elections for President are all on the same Tuesday in November.
So, a national holiday really only makes sense for those presidential election years. Or, we could declare "first Tuesday after first Monday in Nov" as an annual holiday, and many states would likely line up their fall elections on that date. Primaries would still be a mess, but they always will, as they're not always open elections anyways (some states require party membership or declared party affiliation to vote in primaries).