Shokaku wasn't at Midway because she was under repair following damage at the Battle of Coral Sea. Zuikaku couldn't be used at Midway because of the heavy aircrew casualties that she'd suffered at Coral Sea. I once read a suggestion that Zuikaku could have been at Midway if Shokaku's surviving aircrew had been assigned to her but I can't produce figures to justify that claim.
Japan also had several light fleet carriers in service at the time of Midway. Ryujo & Junyo were part of a diversionary attack on the Aleutian Islands, Hosho was with the main battlefleet & Zuiho with the invasion force. "Options of Command" by Col. Trevor N. Dupuy has Japan winning Midway by realising that its codes have been broken & by using the 4 light carriers along with the 4 fleet ones.
Dupuy goes on to argue that a Japanese victory at Midway would just have postponed an Allied victory in the war by a few months as the USA then had 13 carriers nearing completion.
See the following website for more information on the IJN & its ships.
Nihon Kaigun