It can take a while for every one of your changes to get reviewed by Unity team, so make sure you're doing it right. Here are some tips that are not obvious from Unity's documentation:
1) Make sure all your package's files are under the Assets folder, all inside one folder named as your extension. Don't be like me including a special folder for test scenes - at all goes together. If your package has file paths somewhere, make sure to allow users to change them quickly, but start form this path.
2) Make sure to handle all exceptions. What I think about this practice is not for public eye, but if the user does anything wrong, with any piece of the extension, no exceptions must be thrown, rather it must either be handled or swallowed. This seems to be a major cause for dismissing the packages. If anything is not attached, or the user does not follow the practice of how to use the extension, you have to handle it gracefully.
3) Make sure to retest all the features and test scenes in the earliest version of Unity your extension is supporting. I was having trouble with New GUI - simply some things worked differently in the older version. You have to find a compromise between all the versions. The version of Unity you submit from will be the one that is noted on the asset store, so make sure you have the old one handy at all times if you need to make a change.
If you're finding this article helpful, consider our asset Dialogical on the Unity Asset store for your game dialogues.
Bonus tip:
4) Be patient, and test well! It can take 2 to 3 weeks to get reviewed these days, so it pays to be thorough upfront.