Keep the Electoral College, but scrap the electors.
Vote by congressional district. One electoral vote per congressional district. Plus two extra for carrying the majority of the districts, or, in the event of a tie, the state's popular vote.
Under that system, Trump would probably have received 15 of California's 55 electoral votes (based on how California's House races turned out).
An additional benefit of going by congressional districts: Fraud in any one district could at most steal the district, because surplus votes in a district would not matter. The impact of the unfortunate fact that certain states (also having lots of EVs) have congressional districts encompassing urban Democrat cesspools would be limited to the CDs involved, and could at most also steal the state's two extra EVs.
That’s a great idea, although the gerrymandering that ensues would be ridiculous.
There would need to be something in place to restrict absurd redistricting.