My thoughts and suggestions.
There are several aspects to English. Here are a few such aspects and my suggestions.
1. First and foremost is sentence construction. This is the area where about 90% of people struggle. It doesn't really matter how good you are at the rest of the aspects, if you are not good at this one, you cannot make good conversations (or have confidence/command over the language).
2. Second is Grammar - And by grammar, I don't mean knowing what a verb is or an adverb is, or an adjective is, or what tense is. What is more important than knowing these definitions is how to effectively use them. I have heard many people say "I did not went to a movie yesterday". The reason they offer is, "since I am talking about yesterday (past), I must use past tense (went)". They cannot be more wrong.
3. Spoken English - You will improve and perfect the above two by speaking in English. The above two also give you fluency in English. The best way to gain fluency in spoken English is by speaking - right or wrong, start and continue speaking while you are learning the first two above. The best way to speak better is to start thinking in English. Typically, most non-native English speakers think about an idea in their native language and try to translate it into English. This is a mistake. Start forming your thoughts in English (and skip the translation). You will learn English (or any language for that matter) faster.
4. Reading and writing English - Read and write anything and everything you can in English. Just not read, but when you read, observe the way the sentences are constructed. Observe the usage of grammar. This could be an excellent tool for you to master the first two.
5. Vocabulary - Reading a variety of reputable English printed media (The Hindu, Times of India, Times, India Today etc.) would give you exposure to a wide range of vocabulary and also enhances your general knowledge (very important when you want to converse with someone). This step can actually be combined with step 4. Having a dictionary handy would help learn the meaning of some difficult words. But remember.. you don't have to have a great vocabulary to master communication in English. You need to be able to effectively form your thoughts in a way the recipient of your message can understand.
6. Finally, accent – watch English (American or British) movies, TV etc. When you do that, don’t care about the understanding what they are saying (you will eventually get it without much effort). Pay very close attention to audio (listen carefully), and while listening, keep your eyes focused on the speaker’s lips (this is the technique used in lip reading). This will accomplish two things, you will learn the accent, and you will understand the accent in the short run. By doing these two together (listening and observing lips), you will eventually (soon enough) learn the accent and understand it without having to observe the lips anymore.
Hope these tips help you. All the best.
--Som G