For a long term visa, I have a Thai account that has just the required deposits then I move the money to another account for daily use.
You could probably do something similar with a foreign account. Just use it for visa requirements. There is no need for them to see your other transactions.
My only issue is when the US government deposits fall on the same calendar month. Once I showed them the deposit schedule and that I have no control everything was fine.
I use an account just for immigration. The deposit comes in and is moved to another bank for spending.