With the mostly unexpected result of Donald Trump winning the 2016 presidential election, (I am still in disbelief writing those words) the way the US determines the president is under scrutiny since assigning electors from each state in most cases under a winner take all basis allowed Trump to defeat Clinton even though he has fewer total votes in spite of what a couple of conservative outlets are claiming. Trump decided to focus his campaign on the states that were close avoiding those with large Democratic populations.
The most obvious solution would be a popular vote. However, that could create chaos in a close election of over 120 million votes which could require that massive a recount. No doubt that is one of the reasons the US is reluctant to go to that method using one that is quicker to determine the winner even if one electoral vote from Alaska for Trump represents 43,000 votes for him and one from Illinois for Clinton represents 144,000 who voted for her.
Since electors from each state are determined by the breakdown of the 535 in Congress plus 3 for DC, I thought why not do what Maine and Nebraska do and split 435 of the votes by congressional district and the other 100 at 2 per state?
I thought of another alternative. I went by the Wikipedia state by state result of the election and multiplied the percentage of voted of those who did not have the most votes in the state by the total electoral votes in the state, rounded that down, then assigned the rest of the votes to those who won the state.
Since Clinton had 34.55% in Alabama which has 9 ev, she would get 3 and Trump 6.
Since Trump had 32.8% in California which has 55 ev, he would get 18.
Since Johnson had 3.24% in California, he would get 1.
Clinton would get the other 36.
Using that way the results would be:
McMullin: 1 (Utah)
Johnson: 2 (CA and TX)
It would go to the house or be decided by third party electors. *sigh*