First, is it a grammatically correct sentence? Yes. This type of sentence is very common.
As Greg Lee mentions, there are several different theories of English grammar, and different theories may label the parts of this sentence in different ways.
In the framework that I use, "to call" is an infinitive and infinitives do not take subjects*. However, infinitives and their phrases act as general modifiers.
I want him to call me tomorrow.
In this sentence, we see one clause. The clause has the subject "I", the verb "want", the direct object "him", and the object complement "to call me tomorrow".
We can compare this to an example which uses an adjective for its complement:
I want him happy.
Under this framework, "to call me tomorrow" has no more need of a subject than "happy". Both relate to the object "him" in the same way -- as modifiers governed by the verb "want".
Second, is the proposed substitution better? No. Grammatically, it might be just as good. Idiomatically, it is unnatural.
By "unnatural" I simply mean that, in my dialect, the sentence sounds foreign and awkward. Another dialect may find that construction to be perfectly natural and unsurprising.
Given a different governing verb, a complete clause as the direct object can certainly sound natural:
✓ I want him to call me tomorrow.
✓ I hope that he calls me tomorrow.
Swapping the verbs leads to sentences that sound unnatural:
✗ I hope him to call me tomorrow.
✗ I want that he calls me tomorrow.
* That isn't to say that "to call" does not have an agent. Semantic roles like agent and theme are separate and distinct from grammatical roles like subject and object. That "him" is the object of "want" prevents it, in my framework, from being the subject of "to call". At the same time, "him" represents both the theme of "want" and the agent of "to call".