Is it safe to have several git annex processes running concurrently in the same repo or in multiple repositories? For example, I have several repositories syncing to each other. Now I run git annex sync on them sequentially. Is it safe to run them concurrently?

If you use the --jobs option, git-annex will actually balance load amoung multiple remotes that have the same cost. Which will prevent everything bottlenecking on a single repository.
Alternatively, configure the cost of the slow repository to be higher than the other drives, and then things like
git annex getwill avoid using the slow one if a faster one is available.