There are theoretically lots of things that could be done to improve China's performance in the Sino-Japanese War. Unfortunately, most of them have practical limitations because of domestic politics.
China was in the position where Chiang knew what needed to be done and was implementing them, but he just needed more time to either complete those projects, or achieve enough dominance against the warlords and Communists to be secure enough to launch those reforms. The vast majority of reforms Chiang wanted to do (and did do once kicked off the mainland) were just not politically possible when he relied so much on local warlords.
Absent more time or a stronger domestic political position, our options are much more limited. I think there are a few things China could have done differently.
1) Manage the air force better. Do not fire US Major John Jouett who was training the Chinese Air Force in 1934. Jouett refused to let his US pilot trainers participate in quelling the 1934 Fujian rebellion. In retaliation, Chiang fired him and turned it over to the Italians (who had no such scruples, and were assisting the Chinese at the same time) who botched it terribly. In 1937, things were so bad Chiang turned to another America, Claire Chennault, to fix things just as the war started. It would have been better had Chiang consolidated everything under Jouett, remove the Italians entirely, and had several more years to train pilots and organize the air force.
When the war breaks out, Chinese pilots would be much better trained and hopefully organized well. That means the Chinese could likely achieve air supremacy over Shanghai in the first critical months of the war and sink the Japanese ships. Without naval gunfire, the Chinese could have elminated the Japanese garrison at Shanghai and reduced their casualties in the battle.
2) Preserve the core of Whampoa junior officers. Chiang lost way too many in the initial Battle of Shanghai. He needs to conserve them as much as possible. In addition because Chinese culture revered civilian bureaucrats over military officers, China did not encourage its literate, educated youth to enlist and become junior officers during the war. This deprived the army of what should have been its primary source of junior officers.
3) Put more organic artillery and heavy weapons to the local divisions. Chiang hoarded a lot of supplies in order to reward the loyal and punish the disloyal, prevent commanders from being too independent, and keep in reserve for an "emergency". While sensible to a degree, he kept way too much. A lot of that hoarded equipment should have gone to key frontline divisions in the central army.
4) Establish a real central staff and organize clear lines of responsibility. Out of fear of political disloyalty, Chiang had some dreadful practices. He favored incompetent, but loyal generals over competent (sometimes brilliant) rivals. As a result, he constantly micromanaged military decisions that should have been made locally. This was bad. Chiang needed to do a better job at balancing this. Creating an effective staff system was essential.
5) Focus on developing an effective military hospital system. China had none, and the Chinese Red Cross took over the responsibility and did the best job they could. Many soldiers would have lived if even the basic elements of a medical corps been established.
There are a lot more things that could be done in terms of a centralized payroll, military logistics, and more, but I think the political realities don't make them feasible even though they would have greatly improved the performance. I think the above could have been done though with little or no resistance.