From what you've described, I take it as you don't really mind if traffic comes in via Provider 1 or Provider 2, you just wish to make sure ALL traffic (Prior to a failover scenario) comes in via Router A? If this is correct, modifying the outbound BGP attributes on your neighbours on Router B will do the trick.
For this, you could modify AS_PATH or MED. I'd recommend AS_PATH as its easier to maintain/troubleshooting & much more visible. A simple AS_PATH Prepend outbound to Provider 1 & 2 from Router B should do the trick.