1. Correct a regular dashboard account cannot be turned into a SAML account. It would have to be deleted completely by the user (not just deleted from your orgs) before you send a SAML username value of that email and it work. However you can send a different attribute instead of email (see the solution here for details: https://community.meraki.com/t5/Dashboard-Administration/Setting-up-SAML-for-2-Meraki-tenants-one-Az...)
It's probably easiest to just use an alternate value for the SAML username and once you have things confirmed working, then you just delete the regular accounts from your org.
2. We have a dedicated API key account we use, but depending on how you use the api, how much detail you want logged etc, you may want multiple api accounts, but your 1 and 2 are the only current solutions.
If you found this post helpful, please give it Kudos. If my answer solves your problem please click Accept as Solution so others can benefit from it.