For tricky chmod stuff like that I don't realy have a proper answer. 
I'll also found that using the u+x type things resolve quite a few issues over complicated stuff, but still the recursive directory stuff sucks.
Although there are some ugly scripts I can whip up. (I am a bad and lazy programmer with little knowledge or skills, btw.)
This script is named "chmod.not.dir.bash"
	
	
		
		
			#! /usr/bin/env bash
DIRPATH=$2
PERMIS=$1
find $DIRPATH | while read i
do
if file "$i" |grep -v directory > /dev/null
then
chmod $PERMIS "$i"
fi
done
		
		
	 
Then you would go:
chmod.not.dir.bash 444 /were/you/want/to/go
To test to make sure that it'll do what you want:
	
	
		
		
			#! /usr/bin/env bash
DIRPATH=$2
PERMIS=$1
echo "going to do a recursive chmod on $DIRPATH, with permissions $PERMIS"
find $DIRPATH | while read $i
do
if file "$i" |grep directory > /dev/null
then
echo "$i is a directory and will be ignored"
fi
done
		
		
	 
Notice that in the first one used 'grep -v' and the second one just used 'grep'
I think that will work, test it out first before using it on a thing with a few thousand files...