In your category.php ( or custom taxonomy archive template ), you should add the form code in the else case of your check if there are posts
e.g.
if(have_posts()){
// do the post loop
} else {
// display a form that takes user details for future posts
}
If there is no category.php you can copy and rename your index.php, and you can do the same for individual categories, e.g. category-example.php will be sued instead of category.php for the example category