The easier way is to extract the archive to standard input and redirect it to a file with a custom name, e.g.
Code:
for archive in *.zip
do
((i++))
unzip -p $archive > $(printf "%03d" $i).txt
done
This works if each archive contains only one file.
There is also a -B option that automatically creates a backup copy of files being overwritten and numbers multiple copies of the same file, but you don't have any control on the file names. Instead, if you want to extract a file in a custom directory use the -d option.