How can I address the massive IO wherein an index insert is occurring? Do I drop the relationship key, perform the insert and then recreate the relationship betwee A05 and A01 tables?
That is certainly one option, yes. The underlying issue is a familiar one: FK validation requires incompatible locks to be held, and the query optimizer often transitions to merge join for FK validation much earlier than we would like. If there were a hint to force a loop join for that part of the plan, you might well find the locks were more compatible with the wider workload, and the query will often execute much faster to boot.
Sadly, there is no such hint. In simpler plans, we can get away with an OPTION (LOOP JOIN) hint, but your only option here would be to somehow convince the optimizer to generate a loops join plan (via different plan predicates for example), then apply that plan using a plan guide.
If dropping the FK and rebuilding it afterward works for you, that's an option too, as I mentioned. It's a tricky problem though in general, without a good all-purpose solution.