There are a few phrases that you can use, such as in place (of), instead (of) (also stead), to express the "doing something for somebody", depending on the context.
In any case, the phrase for someone doesn't have to mean that the person you do something for must be lazy. This, again, depends on the context. Compare:
He asked me to do his assignment for him.
I offered myself to do his assignment for him.
Here are some examples of in place (of), in someone's place, instead (of), and stead, I found on the web:
John came to help in place of Max, who was sick.
When the king's cloaked challenge is answered, Fluellen stands in place of him, representing him, and receiving the blow.
She knew she should not have sent him to work in her place tonight.
"O king, take my life instead of hers. Let me die in her place," he pleaded.
... it was Judas who was crucified instead of him, ...
... she had to ask their family doctor to prescribe instead of him making it available to begin with.
Take me instead! Not my boy!
The chairman spoke in her stead.
The marketing manager was ill and her deputy ran the meeting in her stead.
So, you can say any of these followings (choose wisely, register is important),
He asked me to do his assignment for him.
He asked me to do his assignment in place of him.
He asked me to do his assignment in his place.
He asked me to do his assignment instead.
He asked me to do his assignment instead of him.
He asked me to do his assignment instead of him doing it himself.
He asked me to do his assignment in his stead. (formal)
If you write
One of the main reasons for this is due to the complex orthography of English.
You are basically saying the same thing twice, roughly "this is because".
So either you write
[One of the reasons is] the complex orthography.
or
[This is due to] the complex orthography.
Now you want to explicitly say that the orthography is but one reason, so you have to "tone down" the due to by some restricting expression, like
[This is partly due to]...
[This is mainly due to]...
....
Overlap with your edit:
Yes, your sugestion works too.
Best Answer
Others may disagree, but I think "glitch" might fit.
"one minor glitch". and if you're sure it's fixable, say "fixable glitch" .
If you think the program could be put into use despite the problem, say "it's not a show-stopper".
If the problem can be documented around, it's "not a bug, it's a feature" (that's an IT joke; not one you would tell a customer.) But seriously, if users could be trained to work around it, "it's a training issue".
If it's a feature that was in the spec, but can't be delivered in this release, say that it "won't be in the initial rollout", but that it (i.e. getting it working) is "on the wish list for Phase Two".