If I were in charge of this mess, I would simply limit Fastpass to Resort Guests only (and better yet, ADRs too). It wouldn't matter what type of resort you'd stay at either, you'd be able to book fastpasses on check-in day, check-out day, and all the days in between.
A month before your trip, you can book 3 fastpasses a day per park, same as it is now, and ADRs too if you want (everyone else can get a ressie day of, because booking an ADR 6 months in advanced is INSANE. The only change I'd make to FastPass is that you would only be able to FastPass an attraction once for that day. If you want to ride it again, get in standby. That way, more people get a chance to FastPass the popular attractions. Also, I'd lower the amount of fastpasses available so that it's only 50% of an attraction's capacity. If there's gonna be 2 lines for a ride, might as well make their throughput even.
I know non-resort staying guests would get the short end of the stick with this scenario, but by shrinking the pool of people who have access to FastPass, the system wouldn't be so overloaded and standby lines would move so much faster! Also this would be a win for the resort, as the demand for the motels/hotels would increase. This would continue their trend of building more resorts and overall increasing resort capacity. IDK just some armchair theme park resort managing.