Optimal curing strategy of suppressing competing epidemics spreading over complex networks is a critical issue. In this paper, we first establish a framework to capture the coupling between two epidemics, and then analyze the system's equilibrium states by categorizing them into three classes, and deriving their stability conditions. The designed curing strategy globally optimizes the trade-off between the curing cost and the severity of epidemics in the network. In addition, we provide structural results on the predictability of epidemic spreading by showing the existence and uniqueness of the solution. We also demonstrate the robustness of curing strategy by showing the continuity of epidemic severity with respect to the applied curing effort. A gradient descent algorithm based on a fixed-point iterative scheme is proposed to find the optimal curing strategy. Depending on the system parameters, the curing strategy can lead to switching between equilibria of the epidemic network as the control cost varies. Finally, we use case studies to corroborate and illustrate the obtained theoretical results.