For syntactic n-grams, or n-classes, you need a reference corpus, such as a Treebank, for the particular language you are dealing with.
As far as I know, the only completed "Hindi Treebank" project is http://ltrc.iiit.ac.in/treebank_H2014/ (pre-release version). There's no mention of the license for this Treebank, so you need to check that first thing, most of all if you're thinking of commercial applications. You should also check the Hindi Dependency Treebank from http://ufal.mff.cuni.cz/hamledt/hamledt-3-treebanks.
Once you get access to the sequences of valid tags for the particular language, you can try usual approaches: HMM, CRF and what not. Might need a bit of tweaking, since you don't want to predict tags only. You probably need a mixed approach: incorporating words, lemmas, tags and possibly constituent structure in the feature set. And you might consider evaluating your machine-learning based approach against a baseline system (based on straightforward dictionary lookup + hand-coded rules).
I don't know anything about Hindi, so you need to check first if this is at all feasible. But I'm sure there are tons of papers dealing with that kind of problem: http://www.aclweb.org/aclwiki/index.php?title=Resources_for_Hindi might be a good starting point.
The 'Syntactic N-Gram' approach might help with the problem of disambiguation depending on the context of the word. In other words, depending on the syntactical structure, the word may be being used differently. In other words, we are talking about parsing Hindi. My own opinion is that there is not much to gain here. I think that an enormous database of Hindi would be much more useful and doing what Google has done. That is, Google has found multiple patterns of word clusters whether they are n = 2,3,4,5,6 etc. If the database is big enough, you can generate millions of word patterns. However, to store those patterns in some app for a commercial purpose, that might be a bit more tricky. Or you might want to store percentages of probabilities that some word will occur after another word. Or maybe the app can learn from the user. Learn from how the user uses language.
You need a tagged corpus for training your N-Grams and build a Language Model, and then use the Language Model as a discriminative resource for word prediction.
You do not necessary need a treebank, in the sense that dependencies are not a must. What you need are Part-of-speech, lemma and morpho-synctactic information. With this info you can boost precision in prediction. We implemented this method for Italian, please see papers in my page.
For inflected languages, synctatic N-Grams can provide significative gain. In our experiments we reported up to 30% improvement of KS (Keyword Saving).