Hongyi,
It has been a while since I have worked with bi-factor models regularly but, as I recall, bi-factor models can be finicky even when correctly specifed. Here are some strategies that I might try in your situation, purely off the top of my head. Hopefully I am not missing something.
1. Your root mean square residual seems as though it may be large. Look at your correlation residuals. If the matrix is overwhelming, plot the unique non-diagonal correlations in a stem plot (the lower.tri() function is helpful for this). Then look up the largest residuals and see what variables are involved. (This suggestion is not specific to bi-factor models.)
2. Fit a one-factor CFA separately for each factor. Identify sources of poor fit. Carry over what you learn to the bi-factor model.
3. Fit a one-factor CFA to all the items with correlated uniquenesses in place of the specific factors. See if anything jumps out. Possibly use the loading estimates from this model as start values for the general factor loadings in the bi-factor model.
4. Experiment with different methods of identifying the scale of the latent variables. Try different fixed parameter values. For fixed loadings, try choosing different variables as index variables.
5. Try fitting the bi-factor model with the general factor loadings constrained or fixed to see if it will converge. If not, experiment with different values or constraints. If so, then gradually release the constraints and/or free the fixed values until you encounter a problem. Try variations to isolate the problem.
I would not expect there to be a simple universal fix that will avoid problems with all bi-factor models. Instead, I would anticipate a slow, iterative process of trouble-shooting your specific model. You can apply the same strategies to the next study using a bi-factor model, but what you need to do to reach a converging model may differ from study to study.
Keith