Concerning voting being mandatory, if it were, for some, it may become rote, and some may without thinking, vote for the candidate that is not as good for the country/world. It's better to not vote, than to vote for the less better candidate.
What absolutely should be FEDERAL LAW: Voting Day should be a mandatory no required work day from your employer.
If don't show up for work, that day, you legally cannot be fired, reprimanded, or even scolded, and obviously not written up.
One can logically 'complain' [many call criticism complaining, not true if it's honest criticism] about a president, even if they didn't vote.
It is our duty to appropriately offer honest criticism, and we as honest people should welcome even all/any criticism, for we should be insightful and self reflective, to make use of all criticisms.